通过PHP和&amp ;;重写特定语言的URL htaccess的

时间:2013-02-07 04:23:33

标签: php .htaccess

我需要一些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(不应该被重定向)。

2 个答案:

答案 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