htaccess重定向尾随斜杠

时间:2014-05-22 08:49:08

标签: apache .htaccess codeigniter redirect

我正在尝试重定向网址,以便将网址http://foobar.com/admin/bla重定向到http://foobar.com/admin/bla/

以下是.htaccess文件的内容

RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|images|assets|stylesheets|scripts|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^(.*)/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]

问题是重定向不起作用。当我输入http://foobar.com/admin/bla时,响应为200。 我想要的是将301重定向到带有/的末尾的url 我做错了什么?

1 个答案:

答案 0 :(得分:1)

这应该可以改为

RewriteEngine on
RewriteBase /

# if it's an existing folder or file, do nothing
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule . - [L]

# if no trailing slash then add it
RewriteRule ^(.+)([^/])$ $1$2/ [L,R=301]

# internally rewrite url to index.php controller
RewriteRule ^(.*)$ index.php/$1 [L]