2011-09-02 59 views
0

我只想从目录中删除尾部斜线。例如,我想要/p/page/显示为/p/page。它看起来更好,不是吗?如何删除尾部斜线?

但是我尝试了很多不同种类的mod_rewrites,但都没有工作或发生过什么事情。

我只希望这适用于子文件夹(甚至更好,任何斜杠的文件夹中的文件夹中像/A/B/C的文件夹中),而不是/P/因为这可能会影响其他部分我的网站以负面的方式。

回答

0

你可以尝试添加以下行.htaccess文件:

DirectorySlash Off 

这前一阵子解决了这个问题对我来说。当然,如果路径只是/我不认为你可以摆脱它。

+0

它给了我500内部服务器错误。 T_T – SkyPilot

+0

这很奇怪,你确定你输入正确吗?也许检查Apache错误日志,看看它说什么? – animuson

+0

我确定。我刚刚复制并粘贴了您的确切评论。然后我决定包括重写引擎,但仍然得到它。还是我应该做点别的? – SkyPilot

0

复制这个代码在你的根.htaccess文件(直属DOCUMENT_ROOT):

Options +FollowSymLinks 
RewriteEngine on 

RewriteCond %{REQUEST_URI} !/$ 
RewriteRule^%{REQUEST_URI}/ [L] 

DirectorySlash Off 
RewriteCond %{THE_REQUEST} ^GET\s(.*)/\s 
RewriteRule^%1 [R=302,NE,L] 

将外部重定向http://localhost/blog/http://localhost/blog/blog目录下仍显示默认index.htmlindex.php或什么的。

+0

您可以使用OP显然无法访问的相同DirectorySlash选项。见下文。 – animuson

+0

同样的事情,500内部服务器错误。我不知道为什么会发生这种情况,只有在使用DirectorySlash时才会发生这种情况。 – SkyPilot

+0

Apache会在URL中的目录名称后面自动追加尾部斜杠,所以如果您想更改该行为,则需要使用'DirectorySlash Off'。你可以看看error.log,看看Apache写入的错误。 – anubhava