我有一个网站,正在使用.htaccess重新定位网址,如下所示:
http://mysite.com/StoreName/
被重定向到
http://mysite.com/stores/StoreName/
并且无形地向用户完成,因此用户仍然可以看到
http://mysite.com/StoreName/
在他们的浏览器栏中(这就是我想要的)。
到目前为止,这么好。为我这样做的.htaccess代码是
RewriteRule ^([-A-Za-z0-9_]+)/$ http://mysite.com/stores/$1/ [L]
并且效果很好,只有一个小例外。
如果实际文件夹是/stores/StoreName/
(请注意大写的“S”和“N”)并且用户输入
http://mysite.com/storename/
进入他们的浏览器栏,他们仍然可以正确重定向,但它不再是隐形的。浏览器现在显示
http://mysite.com/stores/StoreName/
http://mysite.com/storename/
条目是否有任何方法可以正确重定向,并且仍然在浏览器栏中显示http://mysite.com/StoreName/
?我确实试过了
RewriteRule ^([-A-Za-z0-9_]+)/$ http://mysite.com/stores/$1/ [L,NC]
但这会导致“找不到文件”错误。谢谢你的帮助!
答案 0 :(得分:0)
此规则不会修改案例,也不会重定向客户端。您的配置中的其他内容正在重定向它,可能是您的404 ErrorDocument。