Url用两个条件重写.htaccess - 问题

时间:2017-09-14 14:34:19

标签: .htaccess mod-rewrite url-rewriting

我正在尝试"转换"我的网站(php + MySQL)的网址通过htaccess更智能。

我有两种页面类型:

www.mysite.com/?s=portfolio
www.mysite.com/?s=scheda&id=1&slug=my-title

"转换"成

www.mysite.com/portfolio.html
www.mysite.com/1_my-title.html

这是我的实际.htaccess,问题是规则单独工作但不能一起工作(第二个规则不起作用)。

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /?s=$1 [L]
RewriteRule ^([^_]*)_([^_]*)\.html$ /?s=scheda&id=$1&slug=$2 [L]

我错了什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

您只需要更改顺序:

RewriteEngine On
RewriteRule ^([^_]+)_([^_]+)\.html$ /?s=scheda&id=$1&slug=$2 [L]
RewriteRule ^([^/]+)\.html$ /?s=$1 [L]

因为第二条规则也包含在第一条