2011-05-17 98 views
3

我有这个规则,它工作的很好,并为我的网站上的每个目录添加了一个尾部斜杠。 如何为特定目录(如/ courses /)添加尾部斜线?我不希望每个目录/路径都有斜线。.htaccess仅针对特定目录的重写条件结尾斜杠

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

回答

8
RewriteCond %{REQUEST_URI} ^/(courses|foo|bar)$ 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L] 

应该在哪里工作coursesfoobar是要增加一个尾部斜杠目录。

+0

感谢那些工作!如何多层次。会有这样的工作吗? 'RewriteCond%{REQUEST_URI}^/(课程|课程/在线课程/疾病)$' – 2011-05-17 18:11:21

+0

这应该可以正常工作。如果你有任何问题,大喊大叫。 – 2011-05-17 18:12:28

+0

工作完美!再次感谢。 – 2011-05-17 18:36:39

0

认为这将工作:

<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(/?|/.*)$ 
+0

詹姆斯说的基本上是一样的东西。只要确保你没有按顺序创建一个无限循环。 – Dan 2011-10-10 19:14:14

相关问题