在子文件夹中使用.htaccess重写不起作用

时间:2014-03-08 11:54:58

标签: regex apache .htaccess mod-rewrite redirect

我有这个页面结构:

www.examplepage.com

在root中我有:

.htaccess
/subfolder1
/subfolder1/subfolder2
/subfolder1/subfolder2/image.html

所以当用户输入网址时我想要

www.examplepage.com/subfolder1/subfolder2/page/SOME_ID

重定向到

www.examplepage.com/subfolder1/subfolder2/image.html?id=SOME_ID

我不应该捣乱.htaccess,所以我创建了

/subfolder1/subfolder2/.htaccess

所以root中的.htaccess有这个代码(它应该保持不变):

<IfModule mod_security.c>
    SecFilterEngine Off
    SecFilterScanPOST Off
</IfModule>

我在子文件夹2中添加的.htaccess具有以下代码:

<IfModule mod_rewrite.c>
    Options -Indexes
    RewriteEngine On

    RewriteCond %(REQUEST_FILENAME) !-f
    RewriteCond %(REQUEST_FILENAME) !-d
    RewriteRule ^page/([a-z0-9]+)$ /image.html?id=$1 [L]
</IfModule>

那么我在子文件夹2中的.htaccess中做错了什么?

1 个答案:

答案 0 :(得分:1)

在`/subfolder1/subfolder2/.htaccess中有这段代码:

<IfModule mod_rewrite.c>
    Options -Indexes
    RewriteEngine On
    RewriteBase /subfolder1/subfolder2/

    RewriteCond %(REQUEST_FILENAME) !-f
    RewriteCond %(REQUEST_FILENAME) !-d
    RewriteRule ^page/([a-z0-9]+)/?$ image.html?id=$1 [L,NC,QSA]
</IfModule>