.htaccess重写多个页面的URL并获取传递给URL的参数

时间:2014-04-02 15:23:29

标签: php .htaccess mod-rewrite

我有以下.htaccess代码,按预期工作

 http://example.com/profile.php

 http://example.com/someprofile

但我在URL中传递参数,例如

 http://example.com/profile.php?username=someprofile

我需要将以上内容更改为以下内容,

 http://example.com/someprofile

我还需要获取参数' someprofile'在PHP中使用$ _GET ['用户名']。我已经筋疲力尽了......

2 个答案:

答案 0 :(得分:2)

这应该适合你:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /profile\.php\?username=(.*)\ HTTP
RewriteRule ^ /%2\? [R=302,L]

RewriteRule ^(.*)$ profile.php?username=$1 [L]

答案 1 :(得分:0)

http://example.com/profile.php?username=([a-z]*) 

然后你可以重定向到

http://example.com/$1 

我不确定它是1美元还是\ 1但你必须使用正则表达式