【发布时间】:2011-10-22 08:56:46
【问题描述】:
我对 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 它会注意到 / page == 超过 2 个字符并重写为 index.php?page=/page
编辑2: 找到了我的问题的答案:
重写引擎开启 RewriteBase / ## 检查它是否不是文件名或目录名 RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d ##重写规则 RewriteRule ^(.{2})/(.*)$ index.php?lang=$1&page=$2 [L] RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]【问题讨论】:
标签: php apache .htaccess mod-rewrite