【发布时间】:2011-07-03 01:35:10
【问题描述】:
如何从目录末尾删除斜杠?
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^.+/$ %1 [R=301,NE,L]
此规则不适用于目录。有什么问题?
【问题讨论】:
标签: apache .htaccess mod-rewrite directory
如何从目录末尾删除斜杠?
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^.+/$ %1 [R=301,NE,L]
此规则不适用于目录。有什么问题?
【问题讨论】:
标签: apache .htaccess mod-rewrite directory
我认为这行不通。
假设您在两个目录/this 和/that 中有一个文件that。这两个目录位于 Apache 根目录 /var/www/domain.com
您希望将目录http://domain.com/that/ 转为http://domain.com/that。但如果你仔细想想,已经(或可能已经)有一个文件that 位于/var/www/domain.com 中。因此,如果按照您的逻辑 Apache 允许这样的重写,它最终只会请求 /var/www/domain.com/that 文件而不是原始目录。如果/var/www/domain.com/that 不存在,那么您现在看到的只是 404。
【讨论】: