[英]How to rewrite specific URL using htaccess
我已经为此花了很长时间,但我看不出解决方案。
我想将带有GET语言参数的URL重写为更干净的URL。
例如:
http://www.example.com?lang=en
需要是:
http://www.example.com/en
上面的工作与此重写规则很好:
RewriteRule ^(en|nl|fr|de)/?$ /?lang=$1 [L]
但我无法在以下URL上使用它:
http://www.example.com/contact.php?lang=en
http://www.example.com/about.php?lang=en
必须是:
http://www.example.com/en/contact.php
http://www.example.com/en/about.php
任何人都知道我的重写规则中缺少什么来使这项工作有效吗?
您将需要一个附加的重写规则来处理/en/about.php
:
RewriteEngine On
RewriteRule ^(en|nl|fr|de)/([\w-]+\.php)$ $2?lang=$1 [L,QSA]
RewriteRule ^(en|nl|fr|de)/?$ /?lang=$1 [L,QSA]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.