如果网址中存在单词,则进行简单重写

时间:2016-04-27 11:45:19

标签: .htaccess mod-rewrite

我有大约100个这样的网址:

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

2 个答案:

答案 0 :(得分: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]

请试试这个

答案 1 :(得分:0)

我想您可能忘记在最后添加.php文件扩展名了?

这将匹配任何双字母语言文件夹,后跟另一个目录,只要没有句号。

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

请务必使用您的网址regex101进行测试。