.htaccess隐藏网址末尾的文件名

时间:2015-03-11 21:40:37

标签: .htaccess

我使用以下代码在我的网站上重写网址:

RewriteEngine On
RewriteBase /
RewriteRule ^about/organisation$ pages/about/organisation [NC,L]

这隐藏了"页面"网址的一点,但如果用户键入" about / organization / index.php"他们仍然到达页面并显示index.php。我想要做的是,如果他们输入index.php,它会将它们重定向到" about / organization"有效隐藏文件名。

我试过这个,但它没有用。

RewriteRule ^about/organisation$ pages/about/organisation/index.php [NC,L]

我做错了什么?

编辑:从答案看来我的服务器似乎不允许我访问相关文件所以我必须首先解决这个问题

2 个答案:

答案 0 :(得分:0)

也许尝试这样的规则。

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /about/organisation/([^/]+)
RewriteRule ^ /about/organisation? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
REwriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^about/organisation/?$ pages/about/organisation [NC,L]

答案 1 :(得分:0)

您可以使用:

RewriteEngine On
RewriteBase /

RewriteRule ^(about/organisation/).+$ $1 [R=302,L,NE,NC]

RewriteRule ^about/organisation/?$ pages/about/organisation [NC,L]