如何使用正则表达式匹配mod_rewrite中的一个或多个级别目录?

时间:2012-08-18 09:06:34

标签: regex apache .htaccess mod-rewrite

这是我的.htaccess文件

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule ^(.\*)/(.\*)$ web/$1.php [L]<br />

RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule ^(.*)$ web/$1.php [L]<br />

我想要以下网址

  

http://www.example.com/的索引   

http://www.example.com/的索引 /   

http://www.example.com/的索引 /管理   

http://www.example.com/的索引 /管理/   

http://www.example.com/的索引 /管理/ 123 ......

全部重定向到

  

http://www.example.com/web/的的index.php

但如果使用我的代码,
它不能重定向超过两个级别的目录...
如何调整.htaccess文件?

1 个答案:

答案 0 :(得分:0)

RewriteRule ^ / index /?([A-Za-z0-9 - /] *)$ /web/index.php?page=$1 [QSA,L]

插入(.php)?如果你也想匹配普通的/index.php。