2012-06-11 70 views
1

我按照在这里一些以前回答问题,并改写了我的phpBB论坛的主网址如下:如何从phpBB url中删除尾部斜杠?

Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?$1 [L,QSA] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC] 
RewriteRule^/%1 [R=301,L] 

曾经是

http://site.com/forum/index.php 

论坛网址现在它成功地解析为

http://site.com/forum/ 

我想删除最后的斜线。我应该对上面的代码做些什么改变?

P.S.我需要对同一网站的wiki页面进行类似的更改,该页面当前可解析为site.com/wiki/index.php?title=Main_Page(我需要它为site.com/wiki)

回答

0

Add在

RewriteRule ^(.*)/{1}$ $1 [L,R=301] 
+0

是没有做任何事情 –

0

在你的.htaccess的重写规则之前加入这一行:

DirectorySlash Off 

告诉Apache不要总是附加一个尾随斜线。

+0

随着该行补充说,要到URL呈现访问者与我的目录和文件列表,而不是加载的index.php –

+0

你有这个条件'的RewriteCond%{} REQUEST_FILENAME!-d'在你的规则中,这就是为什么它不会被转发到'index.php'。注释掉这一行,然后它会被转发。 – anubhava

+0

实际上,如果没有任何ReWriteEngine代码,我只有DirectorySlash关闭,也会发生这种情况。 –