【问题标题】:Mod_rewrite not working properlyMod_rewrite 无法正常工作
【发布时间】:2010-06-05 21:55:10
【问题描述】:

我的.htaccess 文件中有这个...

RewriteEngine on
RewriteRule ^/invite$ /invite.html

这是为了让用户访问这个网址:

http://mysite.com/invite

并显示invite.html 页面。我不想重定向用户,而只是从一个更好看的 URL 向他们显示invite.html 页面。

但是,当我浏览到 http://mysite.com/invite 时,我收到 404 not found 错误。

我做错了什么吗?我已经尝试查看使用 mod_rewrite 的教程,但我似乎也在做他们告诉我的事情......

谢谢!

【问题讨论】:

    标签: url .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    我认为/ 中不应该有RewriteRule

    RewriteEngine on
    RewriteRule ^invite$ invite.html
    

    【讨论】:

      【解决方案2】:

      您是否确定为 .htaccess 文件所在的目录设置了 AllowOverride All?否则该文件可能会被忽略。

      如果不是这样,您应该查看 Apache 的日志文件以获取更多提示(Linux 上为/var/log/apache)。

      【讨论】:

      • 我在共享主机上,所以我认为我无法查看 Apache 日志,也无法在任何地方看到我自己的帐户特定日志。
      • 啊!我在 cPanel 中找到了我的日志,我有很多行阅读:File does not exist: /home/myuser/public_html/invite。这对我来说没有意义,据我所知/invite 不需要存在,因为这是我想要做的......
      【解决方案3】:

      您缺少 RewriteCond 指令。那就是实际测试Condition 以匹配 URL 的那个。仅当匹配一个或多个 RewriteConds 时才会调用 RewriteRule。

      【讨论】:

      • 我不认为这是准确的,你可以有RewriteRule 没有RewriteCond
      猜你喜欢
      • 2014-03-02
      • 2012-08-05
      • 2012-05-07
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      • 2011-12-18
      • 2015-01-14
      相关资源
      最近更新 更多