Apache htaccess-删除尾随正斜杠,除了

Apache htaccess-删除尾随正斜杠,除了,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,在htaccess中,我可以使用以下方法删除尾部斜杠: #RewriteCond %{HTTP_HOST} !^\.example\.com$ [NC] #RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L] 这非常有效,但我现在需要为该规则添加一个例外。 我有一个文件夹(我们称之为“myfolder”),需要一个尾随斜杠。是否可以将上述条件设置为允许此操作?当然可以,例如: RewriteCond %{HTTP_HOST} !^\.exam

在htaccess中,我可以使用以下方法删除尾部斜杠:

#RewriteCond %{HTTP_HOST} !^\.example\.com$ [NC]
#RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
这非常有效,但我现在需要为该规则添加一个例外。
我有一个文件夹(我们称之为“myfolder”),需要一个尾随斜杠。是否可以将上述条件设置为允许此操作?

当然可以,例如:

RewriteCond %{HTTP_HOST} !^\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/myfolder/$
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
这将排除
http://example.com/myfolder/
从被重定向到
http://example.com/myfolder
。如果
myfolder
位于子文件夹中,则需要相应地在重写条件下更改路径


如果要排除
myfolder
,而不管它位于何处(例如
/myfolder/
/something/myfolder/
/something/myfolder/
),则相应地更改重写条件:

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

再次感谢你,懒鬼:)