如何使用htaccess将斜杠网址重定向到非斜杠网址

时间:2013-07-15 22:54:42

标签: apache .htaccess

我的网址看起来像

 localhost/test/page1.php

我想隐藏php扩展,所以我使用下面的方法来隐藏php扩展

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]

现在网址是

localhost/test/page1

但是当我使用像localhost / test / page1 /这样的url时,它会显示错误。如果要将斜杠网址重定向到非斜杠网址

2 个答案:

答案 0 :(得分:1)

测试一下:

RewriteRule ^([^/]+)/?$ $1.php [NC,L]

答案 1 :(得分:0)

只需添加重写规则,如下所示:

RewriteEngine on

# Remove slashes from incoming URI's that end with slashes.
RewriteRule ^/?(.+)/$ /$1 [R=301,L]

# Redirect redirect requests to PHP controllers
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?([^\.]+)$ /$1.php [NC,L]

这会将任何不以web root结尾的请求重定向到使用HTTP 301标题的斜杠清理URL。