.htaccess REQUEST_URI效果不佳

时间:2013-05-07 05:17:26

标签: .htaccess mod-rewrite

我尝试这个规则

RewriteCond %{REQUEST_URI} !^/dr/he
RewriteCond %{HTTP_HOST} temp.il.gl
RewriteRule ^(.*)$ http://m.il.gl/$1 [R=301,L]

但是当我尝试temp.il.gl/dr/he/和http://temp.il.gl/dr/

他们都去了m.il.gl 我在.htaccess测试人员和这项工作中尝试它,但是当它插入我的.htaccess时是行不通的。 感谢。

EDITED: 我也有这条线:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]

EDITED: 我添加条件:

RewriteCond %{REQUEST_URI} !^/(.*)index.php

之前:

RewriteRule ^(.*)$ http://m.il.gl/$1 [R=301,L]

现在是工作。 谢谢你 约尼

1 个答案:

答案 0 :(得分:5)

如果请求的路径不以/dr/he

开头,则此规则会显示
RewriteCond %{REQUEST_URI} !^/dr/he

并且回答请求的主机是temp.il.gl

RewriteCond %{HTTP_HOST} temp.il.gl

将所有流量永久重定向到m.il.gl。

RewriteRule ^(.*)$ http://m.il.gl/$1 [R=301,L]
  1. 如果不是这样,或者这不是你正在经历的行为,请检查/dr/he目录中是否还有包含重定向的文件。
  2. 检查虚拟主机以查看是否存在可能存在冲突的mod_rewrite声明。
  3. 也许.htaccess中有另一行正在执行转移?
  4. 如果他们在同一台服务器上,则可能是服务器配置方式的DNS问题。 (如果服务器配置为同时应答。)
  5. 浏览器通常会缓存301重定向,因此如果您在某一时刻意外重定向了所有流量,则可能需要刷新浏览器缓存以使其停止重定向到" / dr / he"文件夹中。