我在运行 Apache 2.2.3 的开发服务器上开发站点期间创建了以下 RewriteRule:
RewriteEngine on
RewriteRule ^add-ons/(?!=details|download)(.+) /add-ons/details/$2 [NC]
基本上我要做的是敲掉 URL 的 /details/ 部分,这样我就可以有一个像 example.com/add-ons/some-addon/ 这样的链接,而不是 example.com/add-ons/细节/一些插件/。
不幸的是,在将它发布到运行 Apache 1.3.41 的实时服务器后,我得到了Error 500: Internal Server Error
. 我玩过它,但我没有尝试过。这是 Apache 1.3 的限制,也许不允许前瞻?
使用 RewriteCond 而不是负前瞻重写它,这似乎有效: