我的DocumentRoot是 var / www / public
我关注.htaccess文件(在 var / www / public 内):
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteRule ^(.*)/$ $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
当我输入例如http://localhost:8080/en/schedule/
时,它可以正常工作 - 重定向到网址而不会尾随斜杠(http://localhost:8080/en/schedule
)
但有些情况下效果不佳:
http://localhost:8080/en/news/
重定向到http://localhost:8080/var/www/public/en/news
答案 0 :(得分:1)
不同链接的不同行为是由网络浏览器缓存引起的。
新的.htaccess:
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)/$
RewriteRule ^(.*)/$ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]