.htaccess ModRewrite仅适用于某些选项

.htaccess ModRewrite仅适用于某些选项,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我的htaccess文件如下所示: RewriteEngine On RewriteRule ^blog/post/([0-9]+) /blog.php?post=$1 RewriteRule ^blog/page/([0-9]+) /blog.php?page=$1 RewriteRule ^work/([0-9]+) /work.php?ID=$1 php规则起作用了,但这两个博客规则不起作用。它们以前都可以工作,但我最近移动了服务器。你知道为什么会这样吗 提前谢谢 编辑: 哇,我注意到我

我的htaccess文件如下所示:

RewriteEngine On
RewriteRule ^blog/post/([0-9]+) /blog.php?post=$1
RewriteRule ^blog/page/([0-9]+) /blog.php?page=$1
RewriteRule ^work/([0-9]+) /work.php?ID=$1
php规则起作用了,但这两个博客规则不起作用。它们以前都可以工作,但我最近移动了服务器。你知道为什么会这样吗

提前谢谢

编辑: 哇,我注意到我有一个工作文件夹,但没有博客文件夹,所以我做了一个,现在这个工作。知道为什么吗?

我刚刚在本地Apache 2.2安装上设置了一个(虚拟)服务器,将PHP 5.2作为一个模块运行。服务器的文档根仅包含用于(简单地)处理上面给出的示例的php文件(只是回显$\u GET中的参数)。文档根目录下的My.htaccess文件只包含您上面指定的内容,而不包含其他内容。文档根目录不包含子目录/work或/blog(或/blog/post或/blog/page)

我的设置在将SEO友好的URL重写到正确的PHP文件时没有任何问题,而PHP文件反过来又响应了我从$\u GET期望的参数值

除了mod_rewrite之外,还有其他东西需要子目录的存在,Apache在处理重写规则之前就需要(因此需要)子目录。不确定它是什么,但根据上面的规则,它似乎不是mod_rewrite