【发布时间】:2015-12-16 14:51:43
【问题描述】:
使用“malformed double ?”重定向
我尝试以下方法:必须保持活动的旧 URL 形成如下: /index.php?id=5041?var1=val1&var2=val2&var3=val3
我必须把它重定向到这样的东西:
/path1/path2/?id=1234?var1=val1&var2=val2&var3=val3
无论我尝试什么 - 它要么是 index.php 中的无限循环,要么是在 id 之后切断其余的变量。字符串的其余部分应该简单地附加。
即。
#Only if id = 1234
RewriteCond %{QUERY_STRING} ^id=1234? [NC]
#get id for variable $1
RewriteCond %{QUERY_STRING} id=(\d+) [NC]
#get rest for variable $2
RewriteCond %{QUERY_STRING} val1=(\d+) [NC]
RewriteRule ^index\.php$ /path1/path2/?myid=%1&val2=%2
【问题讨论】:
-
在 php 中执行
print_r($_SERVER['QUERY_STRING'])以查看您的脚本实际接收的内容。 -
感谢 hjpotter92 - 不错的工具!
标签: apache .htaccess variables redirect malformed