如何使用.htaccess重定向带有ID的URLS

时间:2017-09-11 13:11:16

标签: php .htaccess

我需要重定向来自:

的流量
example.com/profilepage.php?profileid=123456

example.com/profile-page.php?profileid=123456  
  

注意:唯一不同的是新连字符

我尝试了几种没有运气的变种,包括

RewriteRule ^/?profilepage.php?profileid=([^/]+)/?$ /profile-page.php?profileid=$1 [L,QSA]

RewriteRule ^/?profilepage.php?profileid=([^/]+)/$ /profile-page.php?profileid=$1 [L,QSA]

RewriteRule ^/?profilepage.php?profileid=([^/]+) /profile-page.php?profileid=$1 [L,QSA]

正如您所看到的,我不确定在profileid正则表达式之后要做什么

2 个答案:

答案 0 :(得分:1)

尝试这样的事情。您必须明确匹配QUERY_STRING

<强>问题:

  

1。您应该将查询字符串与%{QUERY_STRING}

匹配      

2。将正则表达式从此([^/]+)更改为(\d+)

注意:

  

确保您的匹配ID位于%1而不是$1

您可以查看.htaccess here

RewriteEngine on

RewriteCond %{QUERY_STRING} ^profileid=(\d+)$
RewriteRule ^profilepage\.php$ /profile-page.php?profileid=%1 [L,R]

答案 1 :(得分:1)

无需测试查询字符串,默认情况下保持不变 您可以使用:

RewriteEngine on
RewriteRule ^profilepage\.php$ profile-page.php [NC,L,R=301]