【发布时间】:2012-05-04 23:11:40
【问题描述】:
我正在尝试使用 apache 为网站设置 mod_rewrite
这是我的句子:
RewriteEngine on
RewriteRule ^news/Actualites/([^/]+)/?$ news/Actualites_d.tpl?SKU=$1 [L]
但它不起作用
我还有其他重写工作,我测试了一些简单的东西,例如:
RewriteEngine on
RewriteRule ^ancienne-url\.html$ /nouvelle-url.html [R=301,L]
这是有效的。
我试着把它放在Htaccess和Vhost中,都不起作用。
我也想得到以下
news/Actualites/MYPRODUCT 当我有像news/Actualites_d.tpl?SKU=MYNUMERIC_ID 这样的网址时
我不知道一侧是否可以有“单词”,当它是正常的一侧的数字ID时...... 提前致谢 劳伦斯
【问题讨论】:
-
你要声明你的 RewriteBase 吗?如果您使用的是 VPS,则通常需要此功能才能正常工作。
-
我不在 VPS 上,但我不知道 RewriteBase... 我应该设置什么?
-
您的服务器是否配置为允许覆盖?
-
很遗憾没有……我已经添加了 RewriteBase /
-
Lawrence 我不擅长 mod_rewrite 来回答这个话题,但是当卡在一些代码上时,我喜欢(就像你尝试的一样)从简单的“plain-vanilla”开始可能的,当我开始工作时,然后从那里开始工作......添加我实际需要的细节,一一发现问题所在。您确实尝试了简单的
RewriteRule ^ancienne-url\.html$ /nouvelle-url.html [R=301,L],所以现在也许可以尝试介于它和您想去的地方之间的东西,这个?:RewriteRule ^news/Actualites/(test)$ news/Actualites_d.tpl?SKU=$1 [L]。如果失败,请进一步分解。
标签: database apache mod-rewrite apache2