2011-10-11 105 views
0

我有一个文件夹,让我们说,这www.website.org/folder/里面有一个像下面.htaccess阿帕奇国防部重写 - 假时INFACT有一个

RewriteEngine On 
RewriteRule ^folder/[0-9]+ http://www.website.org/folder/index.php?n=$1 [NC] 

folder我有很多文件夹1234,4567等。我正在寻找的行为是从www.website.org/folder/1234改写为www.website.org/folder/index.php?n=1234。但是,由于某些原因,重写不会发生,并且出现Forbidden错误(因为您无法访问目录本身)。

我该如何解决这个问题? 非常感谢你

- 注意:我不得不收起Options +FollowSymlinks,因为我得到提供商的网络服务器的Option FollowSymLinks not allowed here错误。

- 编辑1

继杰森的文章中,我修改了的.htaccess如下(我仍然保留了它在folder):

RewriteEngine On 
RewriteBase /folder/ 
RewriteRule ^folder/([0-9]+)/?$ /folder/index.php?n=$1 [NC,L] 

但它仍然使我的文件夹,为什么这是?谢谢!

回答

1

你的规则写的方式,.htaccess应该在你的webroot而不是folder目录中。您也可以修改您的RewriteBase。但是,我会做以上和使用:

RewriteEngine On 
RewriteBase/
RewriteRule ^folder/([0-9]+)/?$ /folder/index.php?n=$1 [NC,L] 
+0

可能会在'[0-9] +'周围添加括号,以便$ 1'意味着什么。 – cHao

+0

我相信在'folder'中有.htaccess是什么让你失望。 –

+0

确保您删除了旧的.htaccess文件,并且正确地将您的URL写入HTML链接。 –