htaccess重写参数名称为“nothing”

时间:2015-02-08 21:49:44

标签: php .htaccess mod-rewrite url-rewriting

我使用了以下规则将example.com/user-beavis重写为example.com/profil.php?user=beavis

RewriteRule ^([^\-]*)user-(.*)$     $1profil.php?user=$2 [QSA]

但我希望它是example.com/beavis,所以我尝试了:

RewriteRule ^([^\-]*)(.*)$      $1profil.php?user=$2 [QSA]

但获得500内部服务器错误

甚至可以使用任何规则吗?

2 个答案:

答案 0 :(得分:0)

如果您想将example.com/beavis转换为example.com/profil.php?user=beavis,请使用:

RewriteRule ^(?!profil.php)(.*)$ /profil.php?user=$1 [L] [L]

我使用了一种消极的前瞻来防止永恒的循环。

答案 1 :(得分:0)

这是解决方案:

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