繁体   English   中英

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

[英]Rewrite URLs for Specific Language via 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(不应重定向)。

您可以尝试以下方法:

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]

这是.htaccess代码:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /


RewriteRule en/about?a=(.*)&b=(.*)$ about.php?lang=en&a=$1&b=$2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM