Mod_rewrite似乎不适用于此重写规则

时间:2012-06-23 19:49:29

标签: mod-rewrite apache2

我正在尝试设置一个简单的重写规则,以便像

这样的东西
mysite.com/admin

变为

mysite.com/new/admin

我尝试了以下内容:

RewriteEngine On
RewriteRule ^admin.*  new/admin [L]

但这似乎不起作用。它只会导致404错误,这与我之前获得的错误相同。我的日志似乎没有显示任何内容。这是我的配置文件:

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName mysite.com
  DocumentRoot /var/www

  <Directory />

   Options FollowSymLinks
   AllowOverride None
  </Directory>
  <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>

如果有人知道正确的重写规则来解决这个问题,那将是最优秀的!

2 个答案:

答案 0 :(得分:2)

试试这个:

RewriteEngine On
RewriteBase /
RewriteRule ^admin(.*) new/admin$1 [L,R,QSA]

标志说明:

  • L - 最后一条规则(处理将在此时停止)
  • R - 重定向(没有此标记,apache将执行子请求,并仍会显示浏览器的原始网址)
  • QSA - 附加原始查询字符串

答案 1 :(得分:0)

请你用斜线尝试以下内容..

RewriteRule ^ admin。* / new / admin [L]