0

我需要一些像这样重写 URI 的 htaccess 规则:

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(不应该被重定向)。

4

2 回答 2

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]

于 2013-02-07T04:44:15.347 回答
0

这是 .htaccess 代码:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /


RewriteRule en/about?a=(.*)&b=(.*)$ about.php?lang=en&a=$1&b=$2
于 2013-02-07T05:05:14.407 回答