-1

我试试这个规则

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 时不起作用。谢谢。

编辑:我也有这行:

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

编辑:我添加条件:

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

前:

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

现在是工作。谢谢你,约尼

4

1 回答 1

6

此规则说明请求的路径是否不以/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”文件夹。
于 2013-05-07T05:45:22.143 回答