htaccess 301重定向。我有这个旧网站,例如http://test.org/conference我想将它重定向到conference.test.org
发生的事情是我的.htaccess
文件中的301重定向非常错误。
以下是我的301重定向htaccess代码:
RewriteCond %{REQUEST_URI} ^/http://test.org/conference(/)?
RewriteRule ^(.*)$ http://conference.test.org/? [R=301,L]
当我测试它时,它会运行并正确重定向。但是当我一遍又一遍地测试它时。似乎不再重定向了。
有人可以帮我提供htaccess 301重定向代码吗?
非常感谢任何帮助.TIA
答案 0 :(得分:1)
我认为这就是你要找的东西:
RewriteEngine on
RewriteRule ^conference/?$ http://conference.test.org/ [R=301,L,QSA]
请注意,%{REQUEST_URI}
仅包含URI的路径,因此不包含协议和主机名。原因是评估是在内部 http主机中执行的。这在文档中明确指出:http://httpd.apache.org/docs/current/mod/mod_rewrite.html
根据您的http主机设置,可能还必须添加条件以防止无限重定向循环:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^conference\.test\.org$ [NC]
RewriteRule ^conference/?$ http://conference.test.org/ [R=301,L,QSA]
但通常不是必需的,因为规则应该在test.org
http主机内定义......