使用RewriteCond的mod_rewrite尾部斜杠问题

3

我已经搜索了相关的mod_rewrite问题,但是我没有找到足够具体的内容,所以我要发帖:

这是我的规则,它添加了一个尾部斜杠:

RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

我希望排除一个特定的目录,例如/mydirectoryname/,并且不要向任何以该目录开头的内容添加斜杠。原因是它破坏了我的一些ajax调用。
2个回答

3
添加另一个RewriteCond:

RewriteCond %{REQUEST_URI} !/mydicrectoryname)/

意思是如果请求的URI不包含“/mydirectoryname/”,则执行后续的重写规则。

谢谢,我稍微改了一下,但是它确实有帮助 :) RewriteCond %{REQUEST_URI} !(^/mydirectoryname/.*$) - Chris J Allen

2
您只需满足一个条件即可描述它:
RewriteCond $0 !^mydirectoryname(/|$)
RewriteRule ^[^\.]+[^/]$ /$0/ [R=301,L]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接