Apache .htaccess重写条件尾部斜杠仅适用于特定目录

Apache .htaccess重写条件尾部斜杠仅适用于特定目录,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我有一个很好的规则,它为我的站点上的每个目录都添加了一个尾随斜杠。 如何仅为某些目录(如/courses/)添加尾部斜杠?我不希望每个目录/路径都有一个尾随斜杠 RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$ RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L] 在课程、foo和bar是要添加尾随斜杠的目录的地方应该可以使用。认为这样可以: <Files .htaccess> or

我有一个很好的规则,它为我的站点上的每个目录都添加了一个尾随斜杠。 如何仅为某些目录(如/courses/)添加尾部斜杠?我不希望每个目录/路径都有一个尾随斜杠

  RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
  RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
课程
foo
bar
是要添加尾随斜杠的目录的地方应该可以使用。

认为这样可以:

<Files .htaccess>
    order allow,deny
    deny from all
</Files>

Options All -Indexes
IndexIgnore *

# Don't add trailing slash for /include/
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/include/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1

# Respond to /include/ with 404 instead of 403
RedirectMatch 404 ^/include(/?|/.*)$

命令允许,拒绝
全盘否定
选项所有-索引
IndexIgnore*
#不要为/include添加尾部斜杠/
重新启动发动机
重写条件%{REQUEST_URI}^/include/$
重写规则^(.*)$http://%{http_HOST}/$1
#用404而不是403响应/包括/包括
重定向匹配404^/include(/?|/.*)$

谢谢你的帮助!多层次的呢。你喜欢这个工作吗
RewriteCond%{REQUEST_URI}^/(课程|课程/在线课程/疾病)$
应该可以正常工作。如果你有任何问题,大声说出来。基本上和詹姆斯说的一样。只需确保您没有创建具有顺序的无限循环。
<Files .htaccess>
    order allow,deny
    deny from all
</Files>

Options All -Indexes
IndexIgnore *

# Don't add trailing slash for /include/
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/include/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1

# Respond to /include/ with 404 instead of 403
RedirectMatch 404 ^/include(/?|/.*)$