.htaccess多个url变量

时间:2016-09-27 21:41:25

标签: php apache .htaccess mod-rewrite

我想写.htaccess用普通模式显示网址 例如

<band height="15">
<subreport>
<reportElement x="0" y="0" width="802" height="15" />
<dataSourceExpression><![CDATA[$F{SUB_DATASOURCE_NAME}]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{SUB_TEMPLATE}]]></subreportExpression>
/subreport>
</band>

以下是我的.htaccess代码

1: abc.com/mypage   --> works fine 
2: abc.com/mypage/page/1  --> works fine 
3: abc.com/mypage/category/2   --> works fine 
4: abc.com/mypage/page/1/category/2   --> not works fine

我们如何修复它,请指导修复方法

1 个答案:

答案 0 :(得分:1)

你有一个错字,但更重要的是你在正则表达式中缺少锚点。您可以使用:

RewriteEngine On

RewriteRule ^mypage/page/([^/]+)/?$ ?p=main_page&page=$1 [L,QSA]
RewriteRule ^mypage/categroy/([^/]+)/?$ ?p=main_page&cid=$1 [L,QSA]
RewriteRule ^mypage/page/([^/]+)/category/([^/]+)/?$ ?p=main_page&page=$1&cid=$2 [L,QSA]
RewriteRule ^mypage/?$ ?p=main_page [L,QSA]