htaccess在单独的目录中重写规则

时间:2012-12-22 00:20:01

标签: regex .htaccess mod-rewrite

我有一个名为“private”的目录。您可以使用url

访问index.php文件
  

http://www.example.com/private/

index.php在require_once()中查找请求页面的“page”参数。

  

http://www.example.com/private/?page=archive

我想制作一个重写规则,以便在用户输入时返回相同的查询:

  

http://www.example.com/private/archive

我尝试过这条规则,但似乎没有用。

RewriteEngine On
RewriteRule ^private/([a-z]+)/?$ private/?page=$1 [L]

如果我把它放在“私人”文件夹或网站的根目录下,.htaccess不想工作。它不是假设在“私人”文件夹而不是根目录?我的重写模块已开启。

1 个答案:

答案 0 :(得分:1)

忘记添加“RewriteBase”

RewriteEngine On
RewriteBase /private/

RewriteRule ^([a-z]+)/?$ ?page=$1 [L]

由于重写基础已设置为重写规则,因此无需在重写规则中编写“private /”。 .htaccess文件当然应该在私人文件夹中。