zend-framework - htaccess 删除本地主机上 zend 框架中的尾部斜线

标签 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

我只想删除末尾的斜杠。

最佳答案

尾随的 / 通常是在确定路径是目录时自动附加的内容。通常你可以让它停止添加 / 使用这个:

DirectorySlash Off

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

关于zend-framework - htaccess 删除本地主机上 zend 框架中的尾部斜线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139940/

相关文章:

php - 如何更改 magento 管理 url 和端口,magento 运行清漆

wordpress - 丢失/最后时使用 .htaccess 重定向无法正常工作

wordpress - .htaccess 和 wordpress 301 重定向不在批准的 IP 地址列表中的每个人?

mysql - ZEND + MAC + MYSQL = 错误!服务器没有更新 PID 文件就退出了

php - 基于模块的项目 : when to use them or not use them

php - 使用 ZF2 和 Doctrine2 将 SQL Server 表转换为 MySQL

php - 将域限制为 Chrome 访问者?可能的?

php - URL 重写,使用.htaccess 还是PHP 来确定使用的内容?

.htaccess - 如何为seo友好的URL编写htaccess重写规则

zend-framework - ZF2 - 已弃用 : ServiceManagerAwareInterface is deprecated and will be removed in version 3. 0,以及 ServiceManagerAwareInitializer