这是我http://old.example.com
的 httpd.conf 文件:
RewriteEngine on
RewriteBase /
RewriteRule ^login$ http://another.example.com/login [L]
问题是虽然我可以重定向到http://another.example.com/login
,但位置栏仍然显示http://old.example.com/login
。
知道如何解决这个问题吗?
答案 0 :(得分:6)
如果您在server or virtual host configuration中使用mod_rewrite,则始终需要在模式中指定完整的URL路径:
RewriteRule ^/login$ http://another.example.com/login [L,R]
只有在.htaccess文件中的每个目录上下文中使用时,您才需要指定不带上下文路径前缀的相对URL路径。
还可以通过设置R flag:
来尝试显式重定向RewriteRule ^/login$ http://another.example.com/login [L,R]
通过它,您还可以指定状态代码:
RewriteRule ^/login$ http://another.example.com/login [L,R=301]