【问题标题】:RewriteRule not working in httpd.confRewriteRule 在 httpd.conf 中不起作用
【发布时间】:2013-05-10 18:20:30
【问题描述】:

我正在尝试使以下情况发生:

当我转到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>

当我转到http://www.mysite.com/b-pog/20(或http://www.mysite.com/b-pog/20/)时,它会给我一个The requested URL /b-pog/20/ was not found on this server.

【问题讨论】:

    标签: apache mod-rewrite httpd.conf


    【解决方案1】:

    我解决了我的问题(我相信)。如果有人想更正此解决方案,请这样做。好像有点不对。

    我刚刚删除了&lt;Directory&gt;&lt;/Directory&gt; 部分,因为无论如何它都无关紧要。不管怎样,我不确定他们是否会做任何事情。

    它似乎正在工作。

    【讨论】:

    • 如果您从正则表达式中删除 /b-pog 并将 指令留在您的问题中,它应该可以工作。原因是规则的正则表达式中测试的URI路径不包含规则所在的目录,因此也不能包含在正则表达式中。或者,从 路径中删除 /b-pog
    猜你喜欢
    • 2016-12-21
    • 2017-09-08
    • 1970-01-01
    • 2018-09-16
    • 2013-03-03
    • 1970-01-01
    • 2013-07-18
    • 2015-04-25
    • 2016-04-09
    相关资源
    最近更新 更多