Mod重写为重定向,但在某个页面上除外

时间:2013-02-01 22:03:13

标签: .htaccess mod-rewrite

尝试在我的htaccess中编写重写规则,以便对/en/shop/index.html或/fr/shop/index.html的任何请求都保留在服务器上,但如果用户转到任何其他页面,则会重定向到另一台服务器。这是我到目前为止所做的,但它不起作用。

RewriteRule ^(.*)/shop/(.*) [L]
RewriteRule ^(.*)$ http://www.newwebsite.com/$1 [R=301]

1 个答案:

答案 0 :(得分:0)

添加一个破折号告诉第一个RewriteRule你希望匹配传递不变:

RewriteRule ^.*/shop(/.*)?$ - [L]

我还删除了第一组括号,因为您没有使用匹配结果,因此无需存储匹配的模式。我假设您可能需要匹配/购物时没有斜杠,这就是(/.*)?部分存在的原因。