我刚刚将旧网站移动到子文件夹以及它的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
这也不起作用。
有人可以帮帮我吗?谢谢!
答案 0 :(得分:1)
您可能需要设置RewriteBase:
当您在a中使用相对路径时,此指令是必需的 在每个目录(htaccess)上下文中替换,除非其中任何一个 以下条件属实:
原始请求和替换位于 DocumentRoot(而不是通过其他方式可以访问,例如Alias)。
包含RewriteRule的目录的文件系统路径, 后缀为相对替换也有效作为URL路径 服务器(这很少见)。
http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase