重写规则不起作用 - 请帮忙

时间:2014-12-03 15:03:08

标签: regex apache .htaccess mod-rewrite url-rewriting

我只是在让这个重写规则有效时遇到了问题:

RewriteRule ^([0-9a-zA-Z-].html$+) index.php?L0=$1 [NC,L]
RewriteRule ^([0-9a-zA-Z-]+)/([0-9a-zA-Z-].html$+) index.php?L0=$1&L1=$2 [NC,L]
RewriteRule ^([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+)/([0-9a-zA-Z-].html$+) index.php?L0=$1&L1=$2&L2=$3 [NC,L]

因此它从index.php?L0=information更改为/information.html and index.php?L0=information&L1=test更改为/information/test.html 等等...

任何人都可以看到任何明显的原因吗?

1 个答案:

答案 0 :(得分:0)

+之后您有多余的$,并且捕获的群组不应包含.html。试试这个:

RewriteRule ^([0-9a-z-]+)\.html$ index.php?L0=$1 [QSA,L,NC]
RewriteRule ^([0-9a-z-]+)/([0-9a-z-]+)\.html$ index.php?L0=$1&L1=$2 [QSA,L,NC]
RewriteRule ^([0-9a-z-]+)/([0-9a-z-]+)/([0-9a-z-]+)\.html$ index.php?L0=$1&L1=$2&L2=$3 [QSA,L,NC]