【问题标题】:Rewrite URL www.domain.com causing 404 on my page重写 URL www.domain.com 在我的页面上导致 404
【发布时间】:2013-04-01 22:24:27
【问题描述】:

好的,所以我已经在我的网站中重写了 URL,现在由于某种原因,如果我输入 www.domain.com,它会抛出 404 错误,如果我输入 domian.com,一切正常。

DirectoryIndex home.php

IndexIgnore *
#RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
#RewriteRule ^(.*)$ http://%1/directory/$1 [L,R=301]

RewriteRule ^home/?$   home.php  [NC]
RewriteRule ^about/?$   about.php  [NC]

RewriteRule ^404/?$   404.php  [NC]

ErrorDocument 404 http://domain.com/directory/404

注意:我已经评论了 1st 2 rewrite 规则,即使我更改了它们,在将 .htaccess 上传到服务器后也没有效果,感觉就像被缓存了一样。

附加信息,我正在使用<base> 标签,它位于embeds.php

if($_SERVER['REMOTE_ADDR'] == '::1') {
    echo '<base href="http://localhost/projects/directory/" />';
} else {
    echo '<base href="http://domain.com/directory/" />';
}

目录结构

Root -
  home.php
  about.php
     -stylesheets
      default.css
     -includes
      embeds.php
  404.php
  .htaccess

embeds.php 包含home.phpabout.php 等中,样式表、脚本等,简而言之,头部部分连同 &lt;base&gt; 标记在embeds.php

【问题讨论】:

  • apache rewrite log 中有什么内容?网址是否被替换?
  • @Vyktor 我在哪里可以找到日志文件?并且一切正常,但是如果我在 URL 中有www. 它会搞砸,所以我使用这两条规则来摆脱 www,但现在我也不能这样做,因为它没有改变那两条规则,休息,如果我编辑 htaccess 并上传它会影响但不影响前 2 条规则
  • 这取决于您的网络服务器的设置,您可能需要重新配置它(或者希望rewritelog(参见上一条评论中的网址)您可以将配置添加到.htaccess)。
  • 另外一件事...您是否将www.domain 配置为与domain 相同的目录(和IP 等)? www.domain/home.phpdomain/home.php 工作方式一样吗?
  • 谢谢,但我无权访问服务器,对于您的第二条评论,是的,它是一样的

标签: php .htaccess url-rewriting


【解决方案1】:
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*) http://www.domain.com/$1  [QSA,L,R=301]

如果不是来自您的 DNS 或 Vhost 配置,它应该可以工作。

【讨论】:

  • 如果我在开头输入 www,它仍然会重定向到 404
  • +1 和一个勾号,它适用于 www 和没有 www :D 真棒,顺便说一句,问题是 firefox,正如我已经提到的 .htaccess 的缓存@这个答案在这里 stackoverflow.com/questions/4499541/…`硝基的帮助,我使用了铬,它的工作,谢谢大家
【解决方案2】:

这也是Firefox的问题,它正在缓存我的.htaccess文件

这里有一些有用的链接,可能会帮助其他用户参考这个问题

Apache - how to disable browser caching while debugging htaccess

htaccess file somehow being cached?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 2013-11-24
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    相关资源
    最近更新 更多