在网站的一个部分重写页面规则

时间:2014-10-07 03:36:09

标签: php regex apache .htaccess mod-rewrite

我有一个页面类似于/admin/adduser我有.htaccess这个rewriteRule:

RewriteRule ^(index|getReadings|admin)\/([A-Za-z]*)$ $1.php?id=$2

在我的网站的一个页面上(/ getReading / clientlist),我想要在网址中显示的页面。我怎样才能为此重写规则?它应该是相同的,但必须只在一页考虑页面。

我尝试了这个变种:

RewriteRule ^(index|getReadings|admin)\/([A-Za-z]*)\/([0-9]*)$ $1.php?id=$2&page=$3

但是当我去没有数字的简单页面时,它说没有找到页面。我该怎么办?

以下是示例: /index/testpage现在应该是index?id=testpage,但是 /getReading/clientList/1应为index?id=clientlist&page=1

1 个答案:

答案 0 :(得分:1)

您可以遵守以下规则:

RewriteRule ^(index|getReadings|admin)/(\w+)/?$ $1.php?id=$2 [L,QSA,NC]

RewriteRule ^(index|getReadings|admin)/(\w+)/(\d+)/?$ $1.php?id=$2&page=$3 [L,QSA,NC]