我正在尝试重写一个URL,以便传递的变量替换为新的id,例如;
wwww.domain.com/default.php?s=1&lang=en
要改写为:
www.domain.com/default.php?id=1$lang=en
s变量被替换为id
我试过了:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{QUERY_STRING} ^s=(.+)$
RewriteRule ^s=(.+)$ id=$1 [R,NC,L]
也
RewriteRule ^s=(.+)$ id=%1 [R,NC,L]
没有运气......我做错了什么?
感谢您的帮助!!
答案 0 :(得分:1)
即使您没有s
作为第一个变量,这也应该有用。 (不确定你真正想要的是什么。)
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*&)*s=(.*)(&*)$
RewriteRule ^default.php$ default.php?%1&id=%2%3
答案 1 :(得分:0)
试试这个:
RewriteRule ^default.php?s=([0-9]+)&lang=en$ default.php?id=$1&lang=en
编辑。 更通用的版本。
RewriteRule ([^?]+)?s=([0-9]+)&lang=([A-z]{2})$ $1?id=$2&lang=$3