【问题标题】:htaccess rewrites not working on localhosthtaccess 重写在本地主机上不起作用
【发布时间】:2012-05-03 11:39:32
【问题描述】:

虽然有很多类似的帖子,但我都阅读了它们都无济于事。让我描述一下我的情况,希望有人可以解决这个问题。我在 /Users/myusername/Sites/domain.com/public_html/.htaccess 中有以下 .htaccess 文件。 DocumentRoot 设置为 /Users/myusername/Sites/domain.com/public_html。

RewriteEngine on
options +FollowSymLinks

RewriteBase /demo 
RewriteRule ^/demo/evaluate/1$ /demo/evaluate/index.php?eval_id=1 [L]

现在进行设置:

  1. httpd.conf 中的“LoadModule rewrite_module modules/mod_rewrite.so”未注释。
  2. “AllowOverride All”无处不在

htaccess 重定向工作,但由于某种原因,我的错误日志中不断出现以下错误:

[Sun Apr 22 11:14:09 2012] [error] [client ::1] File does not exist: /Users/myusername/Sites/domain.com/public_html/demo/evaluate/1

如果您需要更多信息,请告诉我。


老实说,不知道发生了什么。我没有改变任何东西。

这可能是所有设置和反馈的某种神奇组合。但现在它正在工作。这就像一个纸牌屋,我只是要退后一步去惊叹,直到我不小心再次打破它。

【问题讨论】:

    标签: php apache .htaccess mod-rewrite


    【解决方案1】:

    尝试将您的 RewriteRule 更改为:

    RewriteRule ^demo/evaluate/1$ demo/evaluate/index.php?eval_id=1 [NC,QSA,L]
    

    【讨论】:

      【解决方案2】:

      请检查这两行并检查

      RewriteBase /demo 
      RewriteRule ^/demo/evaluate/$1 /demo/evaluate/index.php?eval_id=$1 [L]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-31
        • 1970-01-01
        • 2016-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-17
        相关资源
        最近更新 更多