重写默认目录的规则

时间:2013-08-17 18:19:26

标签: apache mod-rewrite

我有许多目录配置如下:

/site/[category]/[subcategory]/browse

在每个浏览文件夹中,我的目录名称如下:

/1-10
/11-20
/21-30 

并且在每个文件夹中都有一个index.html,没有别的。

我想设置一个重写规则,以便请求:

/site/[category]/[subcategory]/browse/site/[category]/[subcategory]/browse/

相当于

/site/[category]/[subcategory]/1-10

但我希望所有其他请求保持不变。例如,我不希望这种重写影响对

的请求
/site/[category]/[subcategory]/browse/11-12.

基本上我希望/1-10/index.html页面是[subcategory]文件夹的默认页面。

这可能是非常基本的,但在apache配置和正则表达式的痛苦之间,我没有运气。

1 个答案:

答案 0 :(得分:1)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^(site/[^/]+/[^/]+/browse)/?$ $1/1-10/ [L,NC]