为什么RewriteBase不起作用?

时间:2012-01-15 19:46:52

标签: apache .htaccess mod-rewrite url-rewriting apache2

以下是我要做的事情:

  
      
  • 域名是thinkmonkey.me
  •   
  • 域名为127.0.0.1作为IP地址
  •   
  • mod_alias 已安装。
  •   

我有一个名为directories.conf的配置文件。其中我有与目录有关的所有配置。 directories.conf

中包含httpd.conf

我的directories.conf

Alias /runs /xhprof/xhprof_html

<Directory /mysite/xhprof/xhprof_html>
    Order allow,deny
    Allow from all
    AllowOverride All
</Directory>

/mysite/xhprof/xhprof_html/.htaccess。我有以下内容:

RewriteEngine on
RewriteBase /runs
RewriteRule  .*  index.php

我要做的就是将/mysite/xhprof/xhprof_html/下的任何请求定向到index.php

当我请求thinkingmonkey.me/runs 而没有斜杠时,我得到404 not found

所以,我推断RewriteBase不起作用 我做错了什么?

1 个答案:

答案 0 :(得分:-1)

别名需要拖尾斜线。与RewriteBase无关。

您可以使用重写规则在需要时添加斜杠。类似的东西:

RewriteRule ^run$ /run/ [R=301,L]

将此规则放在服务器根目录中的htaccess中(不在/xhprof/xhprof_html中)