Apache 重写规则在httpd.conf中不起作用

Apache 重写规则在httpd.conf中不起作用,apache,mod-rewrite,httpd.conf,Apache,Mod Rewrite,Httpd.conf,我试图实现以下目标: 当我转到http://www.mysite.com/b-pogs/20(或http://www.mysite.com/b-pogs/20/),它会在内部重定向到http://www.mysite.com/b-pogs/index.php?comic=20 我尝试这样做的方式如下(我将包括我认为相关的所有内容) 所有这些都发生在我的httpd.conf中 顺便说一下,直接转到index.php并使用getter现在就可以完美地工作 Alias /b-pog /var/www/

我试图实现以下目标:

当我转到
http://www.mysite.com/b-pogs/20
(或
http://www.mysite.com/b-pogs/20/
),它会在内部重定向到
http://www.mysite.com/b-pogs/index.php?comic=20

我尝试这样做的方式如下(我将包括我认为相关的所有内容)

所有这些都发生在我的httpd.conf中

顺便说一下,直接转到index.php并使用getter现在就可以完美地工作

Alias /b-pog /var/www/b-pog

<Directory /var/www/b-pog>
    RewriteEngine on
    RewriteRule ^/b-pog/([0-9]+)$ /b-pog/index.php?comic=$1 [PT]
</Directory>
Alias/b-pog/var/www/b-pog
重新启动发动机
重写规则^/b-pog/([0-9]+)$/b-pog/index.php?漫画=$1[PT]
当我转到
http://www.mysite.com/b-pog/20
(或
http://www.mysite.com/b-pog/20/
),它给了我一个
请求的URL/b-pog/20/在此服务器上找不到。

我解决了我的问题(我相信)。如果有人想更正此解决方案,请执行。这似乎有点不对

我只是删除了
部分,因为不管怎样,这都不重要。无论如何,我不确定他们是否会做些什么


它似乎起作用了。

如果您从正则表达式中删除
/b-pog
,并将指令留在您的问题中,它应该会起作用。原因是在规则的正则表达式中测试的URI路径不包括规则所在的目录,因此也不能包含在正则表达式中。或者,从路径中删除
/b-pog