我有以下.htaccess文件:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ account.php?username=$1
这基本上可以为我的用户个人资料提供服务,就像Twitter上的某人可以输入:url.com/theirusername
但是我想让某些像/ home这样的页面不会导致一个配置文件而是一个不同的.php页面,最后再没有.php。
有人可以想办法吗?
谢谢!
答案 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