我想重定向
http://old.clients.domain.com
到
http://clients.domain.com
在htaccess文件中,我写了一个永久重定向
Redirect 301 / http://clients.domain.com
当我输入old.clients.domain.com时,它会在地址栏中将地址更改为clients.domain.com,但它不会给我页面,而是在Firefox中给我这个:
The page isn't redirecting properly
Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
我做错了什么?谢谢。
答案 0 :(得分:1)
这是什么?难怪在这里使用该示例的任何人都会收到内部服务器错误! = old.clients.domain.com 无效。
而不是
Rewritecond %{HTTP_HOST} =old.clients.domain.com
使用
Rewritecond %{HTTP_HOST} (www\.)?old.clients.domain\.com
所以正确代码的一个例子是
RewriteEngine On
RewriteBase /
Rewritecond %{HTTP_HOST} (www\.)?old.clients.domain\.com
RewriteRule ^.*$ http://new.clients.domain.com/$0 [R=301,L]
这可以在将根域重定向到插件域时起作用,并防止“Firefox检测到服务器以永远无法完成的方式重定向此地址的请求”等错误。
答案 1 :(得分:0)
您必须将.htaccess文件仅用于http://old.clients.domain.com/
的目录答案 2 :(得分:0)
如果它们指向相同的根目录,那么最简单的方法是使用根.htaccess文件中的条件重写语句:
RewriteEngine On
RewriteBase /
Rewritecond %{HTTP_HOST} =old.clients.domain.com
RewriteRule ^.*$ http://clients.domain.com/$0 [R=301,L]
您需要防护来防止重新定向有效clients.domain.com
请求,而大多数浏览器(例如Ff)都会将其作为无限重定向接收。