重写规则问题

时间:2019-04-13 20:16:58

标签: php regex apache mod-rewrite silverstripe

我讨厌写这篇文章,但是我从事这个工作已经太久了。 我们正在升级一个多语言站点,并且我们现在使用的语言模块处理URL的方式非常不同。我们正从domain.com/location-fr-fr/移到domain.com/fr_FR/location/。通过使用以下RewriteRule (.*)-fr-fr fr_FR/$1/,我已经能够成功处理重写。我不知道英语是什么样子。 domain.com/location/必须去domain.com/en_US/location/

我遇到问题的地方是我不能仅仅重写所有内容,因为我需要排除以/ en_US或/ fr_FR开头的所有url,但是我失败了。

我已经尝试过了,我真的认为应该起作用

RewriteRule ^(?!en_US/) http://www.google.com

我尝试在前面加一个斜杠,但都不行

RewriteRule ^(?!/en_US/) http://www.google.com

https://htaccess.madewithlove.be/同意我的观点,即它也应该起作用,但实际上却不行。我一直在使用wget进行所有测试,因此浏览器缓存不是问题。 有人可以给我一些建议吗?我愿意就如何使这项工作更好地提出任何建议。 这是一个Silverstripe网站,以防影响改写。

编辑: 删除Silverstripe重写规则后,该规则可以正常工作。

0 个答案:

没有答案