开发者

Adding a trailing slash to URL using Apache

开发者_开发技巧I'm working in a directory called testsite and I want all .php extensions to be replaced by a trailing slash. I'm halfway there, in that (for example) entering http://mydomain.com/testsite/about means that http://mydomain.com/testsite/about.php is loaded.

However, I now want the URL to be displayed as ./about/ so that only one version shows up in search engine rankings.

Here's my .htaccess:

RewriteEngine On
RewriteBase /testsite/
RewriteRule ^()$ index.php [NC,L]
RewriteCond %{REQUEST_URI} !(^/?.*\..*$) [NC]
RewriteRule (.*)$ $1.php [NC]

Also, is it possible to preserve (and hide from display any parameters that I pass)?

All help is much appreciated!


Try these rules:

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .*[^/]$ %{REQUEST_URI}/ [L,R=301]
RewriteRule ^$ index.php [L]
RewriteRule (.*)/$ $1.php [NC]


Try replacing the last rule with:

RewriteRule (.*)$ $1.php [NC] [E=ORIGINAL_URL:$1]
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜