我想通过.htaccess重定向,旧的URL就像
https://www.domain.de/something/?action=set_login&syncid=1&title=2&username=3&password=4&description=5&link=6&icon=7&localid=44285,3826274818&modified=2021-03-30%2014:06:59&seccode=8&valid=1
新网址应如下所示:
https://www.domain.de/something/set_login.php?syncid=1&title=2&username=3&password=4&description=5&link=6&icon=7&localid=44285,3826274818&modified=2021-03-30%2014:06:59&seccode=8&valid=1
所以,简而言之:
删除:
?action=
使用动作文本作为脚本名称:
set_login
应该是脚本名称set_login.php
以下所有参数应按原样附加。
对此有什么想法吗?我想它必须分成两条规则?
我尝试了这样的方法,但是“某事”和动作参数仍然添加在
set_login.php?
之后,我必须手动实现每个脚本名称:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} .*action=get_logins.*
RewriteRule ^(.*) https://%{HTTP_HOST}/something/set_login.php?$1 [QSA,L]
</IfModule>
您可以在站点根目录 .htaccess 中使用此重定向规则:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*&)?action=([^&]+)(?:&(.*))?$ [NC]
RewriteRule ^ %{REQUEST_URI}%2.php?%1%3 [L,R=302,NE]
一旦确认其工作正常,请将
R=302
替换为 R=301
。在测试您的 R=301
规则时,避免使用 mod_rewrite
(永久重定向)。