2016-04-27 61 views
1

我有大約100個URL這是這樣的:簡單的重寫,如果一個詞存在於URL

http://example.com/en/contact-us 
http://example.com/en/about-us 

當有人點擊其中任何一個,它應該在同一個頁面,但與有一個參數被追加

例如:

http://example.com/en/contact-us?language=en 

我將如何去解決呢?我想寫一些通用的東西,可以爲我擁有的100個網站做好工作。

這是我有:

RewriteCond %{REQUEST_URI} /en/ [NC] 
RewriteRule^%{REQUEST_URI}/?language=en 

回答

1

內部重定向:網址在瀏覽器不改變

RewriteEngine on 
RewriteRule ^/?([a-z]+)/([^/]+)/? $1/$2?language=$1 [L] 

外部重定向:URL在瀏覽器更改爲新的URL

RewriteEngine on 
RewriteRule ^/?([a-z]+)/([^/]+)/? $1/$2?language=$1 [R=301,L] 

請試試這個

+0

上述不起作用。內部服務器錯誤。 – Margue

+1

您可以檢查錯誤日誌文件以瞭解內部服務器錯誤的原因。 –

0

我想你可能忘記把.php文件擴展名放在最後?

這將匹配任何雙字母語言文件夾,後跟另一個目錄,只要沒有句點。

RewriteRule ^/(\w\w)/([^/]+)/?$ $1/$2.php?language=$1 

請務必使用您的網址在regex101進行測試。