我有以下重写规则:RewriteRule ^/uk/(.*)$ http://www.hostname.uk/$1 [R,L]
重写来自:
的网址http://www.hostname.uk/uk/home
到http://www.hostname.uk/home
但是,如果您使用较短的地址查看http://www.hostname.uk/uk/home
处的内容,则会获得一个空白的404页面。为什么是这样?我该如何解决这个问题?
答案 0 :(得分:0)
您拥有的规则是从/uk/home
重定向到/home
,但您没有任何其他方法可以在另一个方向上重写。这就是你需要的。您还应该使用我在此处执行的301重定向(永久)。您使用的是302(临时 - 默认值)。如果http://www.hostname.uk
没有变化,您也不需要指定RewriteRule ^/uk/(.*)$ /$1 [R=301,L]
RewriteRule ^/(.*)$ /uk/$1 [L]
。
.htaccess
我假设您在主Apache配置中执行此操作。如果它在as
中,则需要更改。