我无法使用.htaccess进行内部重写(也就是说,使用请求的URL形成内部请求,然后将其提供给仍然只看到原始请求的URL的客户端)只有的URL一个参数被美化,其余的请求参数仍然被追加。堆栈上的其他帖子只涉及一个相关参数,或者希望重定向每个参数。
即,
我可以为第一个项目符号执行此操作,单个参数重写;
RewriteEngine on
RewriteBase /
#Prettify test
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?overhoringen/open/([^/]+)/?$ /overhoringen/open.php?testId=$1 [L]
但是,我不确定如何在最后捕获请求查询,然后将其附加到内部重定向(如果存在的话),而?
仍然在前面(以避免open?testId=9?other=param&more=param
)等。
帮助这个真的很酷。 :
答案 0 :(得分:2)
更改此行:
RewriteRule ^/?overhoringen/open/([^/]+)/?$ /overhoringen/open.php?testId=$1 [L]
为:
RewriteRule ^/?overhoringen/open/([^/]+)/?$ /overhoringen/open.php?testId=$1 [L,QSA]
添加QSA应将附加查询字符串附加到新网址。