用于语言和slug的htaccess代码

时间:2015-08-04 12:10:26

标签: .htaccess rewrite slug lang

我正试图通过我的htaccess处理语言和slug但我遇到了一些问题。

我需要的是:

http://www.domain.com/es/product/lorem-ipsum

进入这个:

http://www.domain.com/product.php?lang=es&slug=lorem-ipsum

这是我的.htaccess

RewriteEngineOn
RewriteBase /

RewriteRule ^(es|fr)/(.*)$ $2?lang=$1
RewriteRule ^product/(.*)$ product.php?slug=$1 [QSA,L]

但这就是我在product.php $ _GET

中得到的
Array
(
    [lang] => 'es'
    [slug] => 'lorem-ipsum/product/lorem-ipsum'
)

**********更新***********

如果我更改了第一条规则:

RewriteRule ^(es|fr)/(.*)$ $2?lang=$1 [R]

它运行正常,但我的URI因此改变了:

http://www.domain.com/product/lorem-ipsum?lang=es

2 个答案:

答案 0 :(得分:1)

尝试:

RewriteEngine on
RewriteBase /
RewriteRule ^(es|fr)/(.*)$ /$2?lang=$1
RewriteRule ^product/(.*)$ /product.php?slug=$1 [QSA,L]

答案 1 :(得分:0)

而不是匹配所有字符

Timestamp                x1    x2
2013-11-11T00:00:00      113  101
2014-11-11T00:02:00      110  122

很像这样的字母

(.*)