语言和 slug 的 htaccess 代码

htaccess code for language and slug

我正在尝试通过我的 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)/(.*)$ ?lang=
RewriteRule ^product/(.*)$ product.php?slug= [QSA,L]

但这就是我在 product.php $_GET

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

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

如果我为此更改第一条规则:

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

它工作正常,但我的 URI 为此更改了:

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

而不是匹配所有字符

(.*)

很多就是这样的字母

([a-zA-Z].*)

试试:

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