将网站移动到子文件夹后,Mod_rewrite无法正常工作

时间:2012-09-05 20:06:48

标签: html url mod-rewrite url-rewriting url-routing

我刚刚将旧网站移动到子文件夹以及它的mod_rewrite规则,但它们不再起作用了。

例如,一条规则是:

#   Input:  noticias/
#   Output: noticias.php
RewriteRule ^noticias/?$  noticias.php

它应该从mydomain.com/movedsite/noticias/转到mydomain.com/movedsite/noticias.php

它不会:错误消息显示

未找到 - 在此服务器上找不到请求的URL /mydomainfolder/movedsite/noticias.php。

我尝试在我的规则元素前添加斜杠,如另一个论坛问题所示:

RewriteRule ^ / noticias /?$ /noticias.php

这也不起作用。

有人可以帮帮我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您可能需要设置RewriteBase:

  

当您在a中使用相对路径时,此指令是必需的   在每个目录(htaccess)上下文中替换,除非其中任何一个   以下条件属实:

     
      
  • 原始请求和替换位于   DocumentRoot(而不是通过其他方式可以访问,例如Alias)。

  •   
  • 包含RewriteRule的目录的文件系统路径,   后缀为相对替换也有效作为URL路径   服务器(这很少见)。

  •   

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase