我需要一些htaccess规则来重写这样的URI:
http://sub.domain.tld/en/about?a=1&b=2
到此:
http://sub.domain.tld/about.php?lang=en&a=1&b=2
或更简单:
http://sub.domain.tld/about.php?a=1&b=2&lang=en
没有区别......
但是用户应该看到第一个URI而不是转换的URI(不应该被重定向)。
答案 0 :(得分:1)
你可以试试这个:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+) [NC]
RewriteCond %{QUERY_STRING} ([^/]+) [NC]
RewriteRule .* %2.php?%3&lang=%1? [L]
无声地映射
http://sub.domain.tld/LangCode/FileName?key1=val1&key2=val2
有或没有斜杠。始终显示在浏览器的地址栏中
要:
http://sub.domain.tld/FileName.php?key1=val1&key2=val2&lang=LangCode
对于永久重定向,请将[L]
替换为[R=301,L]
答案 1 :(得分:0)
这是.htaccess代码:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule en/about?a=(.*)&b=(.*)$ about.php?lang=en&a=$1&b=$2