是否可以使 URL 中的文件夹透明,如下例所示: example.com/test/ 更改为 example.com/
使用mod_rewrite?
我喜欢用文件夹来组织,但我想要一个漂亮干净的网址。
我有一个数据库,有一个 url 列,就像this-is-the-title.php
我想在这里激活 mod_rewrite :
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([a-zA-Z0-9-/]+)$ news.php?url=$1
RewriteRule ^([a-zA-Z0-9-/]+)/$ news.php?url=$1
Run Code Online (Sandbox Code Playgroud)
但我在.php扩展方面遇到问题。该规则仅适用于this-is-the-titlenot this-is-the-title.php。有没有什么方法可以使用具有 .php 扩展名的标题来激活 mod 重写,或者我必须更改标题?
提前致谢
我想要一个 htaccess modrewrite 规则将我的整个网站重定向到新域(但文件夹除外)。例如,我的网站是 www.mydomain.in,我想将其重定向到 www.mydomain.com,但是,如果 url 是 www.domain.com/new_folder 那么它不应该被重定向,请留在此网站上。
我的 htaccess 在这里
RewriteCond %{REQUEST_URI} !^(/users/)$
RewriteCond %{HTTP_HOST} ^mydomain.in$ [OR]
RewriteCond %{HTTP_HOST} ^www.mydomain.in$
rewriterule ^(.*)$ http://mydomain.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
这是行不通的。如果我输入 www.mydomain.in/users/ 那么它会转到 www.mydomain.com/users/
有人可以帮我吗?
大家好,
现在我想使用apache2中的mod_rewrite模块来重定向url。
重写规则如下所示:
RewriteCond %{QUERY_STRING} ^url=(.+)$
RewriteRule ^/redir$ %1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
但是,当输入 http://website.com/redir?url=http%3A%2F%2Fwww.google.com 时,mod_rewrite 模块无法取消 url 参数 http%3A%2F%2Fwww.google.com,为有什么方法可以解决这个问题吗?
我正在将一个网站迁移到 WordPress,该网站有数百个文件可供下载。当前文件路径在文件名之前可能有多个子文件夹。以下是 url 外观的一些示例。
"http://www.example.com/uploads/folder/subfolder/anothersubfolder/file.pdf"
"http://www.example.com/uploads/folder/file.pdf"
"http://www.example.com/uploads/folder/subfolder/anothersubfolder/anothersubfolder/file.doc"
Run Code Online (Sandbox Code Playgroud)
我想创建一个 301 重定向来处理对这些文件的任何请求并将它们发送到新的 url
"http://www.example.com/wp-content/uploads/folder/subfolder"
Run Code Online (Sandbox Code Playgroud)
我在上传文件夹中保持子文件夹相同,所以我真的需要一个正则表达式来指向任何内容
"http://www.example.com/uploads/"
Run Code Online (Sandbox Code Playgroud)
并将其指向
"http://www.example.com/wp-content/uploads/"
Run Code Online (Sandbox Code Playgroud)
我当前的 .htaccess 文件看起来像
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Run Code Online (Sandbox Code Playgroud)
我已经尝试在块内添加来自 anubhava 的答案<IfModule mod_rewrite.c>,但我认为来自 wordpress 的答案存在问题RewriteBase /,而我试图添加RewriteBase /uploads/. 如何为 /uploads 目录设置重写条件?
我将如何更改查询字符串
file.php?id=number&string=some-words
Run Code Online (Sandbox Code Playgroud)
进入这个
file/number/some-words/
Run Code Online (Sandbox Code Playgroud)
我知道这之前已经被问过一百万次了,但我在这里查看了许多解决方案,它们都是基于单个查询的(就像只是?something 而不是 ?something&something-else)。
同样一旦重写,php 在使用 $_GET 或 $_REQUEST 等时是否仍然读取原始页面查询字符串......即使它现在显示为路径?
任何帮助表示赞赏。
谢谢。
我想重定向以以下内容开头的地址:
en.example.com/somefile.php
Run Code Online (Sandbox Code Playgroud)
至:
example.com/somefile.php?language=en
Run Code Online (Sandbox Code Playgroud)
在lighttpd中使用mod_rewrite模块.到现在为止我得到了这个:
$HTTP["host"] =~ "^en\.(.*)\.com$" {
url.rewrite-once = (
"^/(.*)"
=>
"/$1?language=en"
)
}
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有起作用.该怎么做才能使这项工作?
我有网址喜欢
http://localhost/mis
http://localhost/mis/newsletter.php
http://localhost/mis/cms.php?mainid=65
http://localhost/mis/news.php?mainid=93
Run Code Online (Sandbox Code Playgroud)
好吧,我正在使用这些网址作为学校部分.
现在对于A级部分,我有以下网址
http://localhost/mis/index.php?mode=0
http://localhost/mis/newsletter.php?mode=0
http://localhost/mis/cms.php?mainid=65&mode=0
http://localhost/mis/news.php?mainid=93&mode=0
Run Code Online (Sandbox Code Playgroud)
我希望上面的网址像路由一样
http://localhost/mis/a-level
http://localhost/mis/a-level/newsletter.php
http://localhost/mis/a-level/cms.php?mainid=65
http://localhost/mis/a-level/news.php?mainid=93
Run Code Online (Sandbox Code Playgroud)
请通过.htaccess文件帮我解决这些网址.
编辑: htaccess文件在mis文件夹下
文件结构:
root>>
mis>>
.htaccess
newsletter.php
cms.php
news.php
Run Code Online (Sandbox Code Playgroud) 如果我讨厌你们,我真的很抱歉,但这是关于.htaccess技巧的最后一个问题
我需要wordpress风格,'非常永久链接'
但这对我来说太混乱了.
我需要,这个网址http://test.com/?page=test&ID=1是http://test.com/test/NAMEFROMDATABASE
怎么样?我知道如何ID=1通过使用$_GET['ID'],但如何将数据库中的值放入网址,并阅读它?
当我将旧网站升级到新服务器时.因为我的旧网站有这么多动态网址,我计划将所有动态网址重定向到静态网址.因为我成功地将我的一些动态网址重定向到静态,但问题是我有大约5000个动态网址.所以我想使用.htaccess将所有动态网址重定向到主页.如何实现这一目标.任何人都可以在这方面帮助我.
我的动态网址结构是这样的 http://www.mysite.com/play.php?id=4818
我使用以下结构将大约50个url重定向到静态.
RewriteCond %{QUERY_STRING} ^id=4818$
RewriteRule ^play\.php$ http://www.mysite.com/play/Dinos_Egg_Hatch? [R=301,L]
Run Code Online (Sandbox Code Playgroud)
现在我的目标是将除已经重定向的网址之外的所有网址重定向到主页.
任何的想法?
mod-rewrite ×10
.htaccess ×7
apache ×3
php ×3
apache2 ×1
escaping ×1
lighttpd ×1
multilingual ×1
mysql ×1
permalinks ×1
query-string ×1
redirect ×1
regex ×1
wordpress ×1