htaccess删除localhost上zend框架中的尾部斜杠

时间:2011-11-15 16:48:01

标签: zend-framework .htaccess

我似乎无法使用以下htaccess规则与Zend Framework正常工作。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

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

上面的代码会将localhost/zendtest/dev/public/login/转换为localhost/login,它会删除最后的斜杠,但会丢失其他所有内容。

如何将localhost/zendtest/dev/public/login/转换为localhost/zendtest/dev/public/login

我想在最后删除斜杠。

1 个答案:

答案 0 :(得分:0)

尾随/通常是在确定路径是目录时自动附加的内容。通常情况下,您可以停止使用以下内容添加/

DirectorySlash Off

但是,这只会阻止系统自动附加它们。如果用户也想要,他们仍然可以手动输入。我建议只使用预处理器检测它,如果它是文件路径中的最后一个字符,则删除/,而不是使用重写。当然不要使用重定向,因为那时你只是为了删除/而使用额外的HTTP连接,这是浪费资源。

相关问题