Apache重定向问题-mod_重写或mod_别名
我有一个特别的需要: example.com/store/{location}必须重定向到example.com/store2/{location}Apache重定向问题-mod_重写或mod_别名,apache,mod-rewrite,mod-alias,Apache,Mod Rewrite,Mod Alias,我有一个特别的需要: example.com/store/{location}必须重定向到example.com/store2/{location} 这需要重定向,而不仅仅是一个url“重写”,所以我猜我需要mod_别名,对吗?有人愿意分享它的正确代码吗?我对mod_重写和mod_别名都有点模糊。(我希望我问得对)谢谢 如果您的意思是要告诉浏览器重定向其位置,只需使用以下方法即可: 或者,如果您的意思是永久重定向,请执行以下操作: RedirectPermanent /store http://
这需要重定向,而不仅仅是一个url“重写”,所以我猜我需要mod_别名,对吗?有人愿意分享它的正确代码吗?我对mod_重写和mod_别名都有点模糊。(我希望我问得对)谢谢 如果您的意思是要告诉浏览器重定向其位置,只需使用以下方法即可: 或者,如果您的意思是永久重定向,请执行以下操作:
RedirectPermanent /store http://example.com/store2
至于您的困惑,mod_alias基本上是mod_rewrite的一个简单版本。引述:
从本质上讲,如果您正在进行“重写”,并且没有附加任何复杂条件,那么应该使用mod_别名。相反,如果要将请求重定向到不希望在浏览器地址栏中显示的文件和查询字符串,则应使用mod_rewrite
去掉尾随的
/
,以防用户不写。顺便说一句@spadewrkers,这是mod_重写,这不起作用。我在存储目录中的.htaccess中有以下代码:RewriteRule^/store/(.*)/$store2/$1[R=301,L]上的RewriteEngine没有错误或任何东西,它只是没有重定向。我尝试删除尾部斜杠,我相信RewriteRule^/store(.*)$http://example.com/store2$1[R=301,L]
的工作方式应与我建议的基本相同,301
在这里也可以被永久性替换。相关:
Redirect /store http://example.com/store2
RedirectPermanent /store http://example.com/store2