簡體   English   中英

重寫URL www.domain.com,導致我的頁面上出現404

[英]Rewrite URL www.domain.com causing 404 on my page

好的,所以我已經重寫了我網站上的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

注意:我已經評論了第1條第2條重寫規則,因為即使我更改它們,將.htaccess上載到服務器后也不會生效,感覺就像它已被緩存。

附加信息,正在使用embeds.php <base>標記

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等中,樣式表,腳本等(簡而言之,頭部 <base>標簽一起包含在embeds.php

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

它應該工作,如果不是,則來自您的DNS或Vhost配置。

這也是firefox的問題,它正在緩存我的.htaccess文件

這是一些有用的鏈接,可能會幫助其他用戶參考此問題

Apache-如何在調試htaccess時禁用瀏覽器緩存

htaccess文件以某種方式被緩存?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM