簡體   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