我想通过httpd.conf中启用的RewriteRule(mod_rewrite)重定向我的网址:
https://mysite.domain.tld/index_php_file.php?ab=的 ident_keys &安培; AC = 5GU7VBNAH45DA5
TO:
https://mysite.domain.tld/index_php_file.php?ab=的 ident_key_1024 &安培; AC = 5GU7VBNAH45DA5
我已经尝试了许多规则而没有运气:
RewriteCond %{HTTP_HOST} hmysite.domain.tld
RewriteRule ^/index_php_file\.php\?ab=ident_keys&ac=$ https://hmysite.domain.tld/index_php_file.php?ab=ident_key_1024&ac= [R=301,L,QSA]
,也不
RewriteCond %{QUERY_STRING} ^ac=(.*)$
RewriteRule ^/?([a-z-0-9-_.]+)$ /$1/index_php_file.php?ab=ident_key_1024&ac=%1 [L,R=301]
似乎重写了网址。
有关我缺少的任何建议吗?
非常感谢。
答案 0 :(得分:0)
我找到了解决方案,它可能对某人有帮助。
RewriteCond %{QUERY_STRING} ac=([A-Z0-9]+)
RewriteRule ^/?([-a-zA-Z0-9_+]+)$ index_php_file.php?ab=ident_key_1024&ac=$1 [R=301,L]
使用RewriteCond
查找字符串(仅包含大写字符和数字)并将URL RewriteRule
重写为所需格式并从查询中追加变量值就足够了。
不要忘记在Apache中启用mod_rewrite
模块。为了生效,当然也需要重启。