繁体   English   中英

如何使用htaccess重写特定的URL

[英]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.

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