我对mod_rewrite有点困境 .
如何编写将决定以下内容的规则:
如果我浏览 /en/page/page 我想将其重写为:
index.php?language=en&page=/page
但如果我只浏览 /page 我想重写为:
index.php?page=/page
这可能吗?
编辑:
/ page只是一个随机的动态页面名称,它也可以是 whatever .
我需要一个规则来检查/ se ==一个字符串,并且不超过2个字符> / page - > index.php?lang = se&page = / page如果浏览页面/页面它会注意到/ page ==超过2个字符并重写为index.php?page = / page
编辑2:找到我的问题的anser:
RewriteEngine On
RewriteBase /
## Check if its not a filename or dirname
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
## Rewrite rules
RewriteRule ^(.{2})/(.*)$ index.php?lang=$1&page=$2 [L]
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
3 回答
我让它自己工作!如果其他人需要做同样的事情,这是规则:
试试这个: