【问题标题】:Why RewriteRule isn't working on my wamp?为什么 RewriteRule 对我的 wamp 不起作用?
【发布时间】:2010-11-17 21:27:20
【问题描述】:

.htaccess:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^/category/([0-9]+)/?$ /category.php?category_id=$1 [NC,L]

我将文件放入:
本地主机/.htaccess

“category.php”页面位于:
本地主机/网站/category.php

我试过了:
本地主机/网站/类别/4/

但它说:

请求的网址 /website/public/category/5/ 不是 在此服务器上找到。

顺便说一句,我用另一个更简单的规则测试了 .htaccess,它正在工作。

【问题讨论】:

    标签: .htaccess mod-rewrite wamp


    【解决方案1】:

    首先:

    在 .htaccess 文件中使用重写引擎时,每个目录的前缀(对于特定目录始终相同)会自动删除以进行模式匹配并自动添加 em> 替换完成后。

    因此,对于文档根目录,请从模式中删除前导 /

    RewriteRule ^category/([0-9]+)/?$ /category.php?question_id=$1 [NC,L]
    

    其次,由于您的基本路径实际上是/website/ 而不是/,因此将基本路径更改为RewriteBase

    RewriteBase /website/
    

    请注意,此基本路径适用于此 .htaccess 文件中的所有规则。因此,您可能只想更改特定规则,例如:

    RewriteRule ^website/category/([0-9]+)/?$ /website/category.php?question_id=$1 [NC,L]
    

    【讨论】:

    • 删除我的。这个答案解释得更好。
    • 哦,我不知道,非常感谢 Gumbo,它起作用了 :)。也非常感谢你,维文。 :)
    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 2015-11-18
    • 1970-01-01
    • 2014-08-18
    • 2012-02-17
    • 1970-01-01
    • 2010-10-08
    • 2016-02-27
    相关资源
    最近更新 更多