在htaccess中使用RewriteRule传递QueryString

时间:2013-11-23 08:31:04

标签: php .htaccess mod-rewrite

我有一个个人资料页面,我在QueryString中使用个人资料GUID作为id,这意味着它具有所有类型的字符。

我目前正在使用:

个人资料?ID = 347692ca-47a8-11e3-bea0-782bcb3e3838

我希望它是:

配置文件/ 347692ca-47a8-11e3-bea0-782bcb3e3838

我尝试了这个但是没有用:

RewriteRule ^个人资料/([^ /] *)$ profile.php?id = $ 1 [L,QSA]

你能帮忙吗?

.....

由于

Jassim

1 个答案:

答案 0 :(得分:0)

您可以在/.htaccess中尝试:(在Debian / Apache2中测试):

RewriteEngine On

RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteCond %{QUERY_STRING} (^|&)id=([^&]*) [NC]
RewriteRule ^profile/?([^/]*)$ /profile.php [L,QSA]

RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteRule ^profile/?([^/]*)$ /profile.php?id=$1 [L,QSA]

斜杠/前缀是必需的。