在.htaccess文件中:
Redirect 301 /john-biography.php /about
当我在浏览器中输入domain.com/john-biography.php时,它变为:
domain.com/about?/john-biography.php
这是正常的还是可以做些什么来阻止这种情况?
答案 0 :(得分:3)
来自Apache manual for mod_alias:
The new URL should be an absolute URL beginning with a scheme and hostname.
所以试试:
Redirect 301 /john-biography.php http://www.yourdomain.com/about
答案 1 :(得分:3)
此行为通常用于mod_alias(Redirect
)和mod_rewrite之间的冲突,其中URL被外部重定向,已由mod_rewrite在内部重写。
在这种情况下,你不应该只使用mod_alias而只使用mod_rewrite。所以只需将你的指令转换为mod_rewrite等价物:
RewriteRule ^john-biography\.php$ /about [L,R=301]
将其放在内部重写的其他规则之前。