从url中删除.php WITH例外(htaccess)

时间:2016-07-15 06:57:40

标签: php mysql .htaccess url url-redirection

我有以下.htaccess文件:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ account.php?username=$1 

这基本上可以为我的用户个人资料提供服务,就像Twitter上的某人可以输入:url.com/theirusername

但是我想让某些像/ home这样的页面不会导致一个配置文件而是一个不同的.php页面,最后再没有.php。

有人可以想办法吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用其他规则在此规则之前添加.php

RewriteEngine On

# To internally redirect file to file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

# handle profile URLs    
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/?$ account.php?username=$1 [L,QSA]

答案 1 :(得分:1)

只需添加更多规则以匹配所有其他页面,将其放在用户名规则之前。

RewriteEngine On
RewriteRule ^home$ home.php
RewriteRule ^contact$ contact.php
RewriteRule ^([a-zA-Z0-9_-]+)$ account.php?username=$1