• 歡迎訪問奇跡の海網站,本站不上傳任何資源,所有資源均來自于網絡,歡迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下載資源為網絡上收集整理而來,并且以計算機技術研究交流為目的,版權歸原作者所有,僅供大家參考,學習,不存在任何商業目的與商業用途.
  • 本站系統鏡像均來自于官方原版,ed2k可視為P2P下載鏈接。所有操作系統默認均為試用版,如有正版密鑰可以有效激活,本站不提供任何激活和相關服務。

htaccess 一個主機多個獨立網站

WEB服務 奇跡の海 3年前 (2017-04-21) 631次瀏覽 已收錄 0個評論 掃描二維碼

htaccess 一個主機多個獨立網站

htaccess 域名目錄分配

.htacces 真的很強大,我們使用.htaccess寫入特定規則,就可以一個空間放多個網站,讓不同域名進入綁定不同的文件夾,以下范例:

比如我們要根目錄中實現以下的域名綁定子目錄結構:

|—-.htaccess文件

|—-blog目錄(綁定域名timle.cn/www.timle.cn)

|——–.htaccess文件

|—-aaa目錄(綁定域名aaa.com)

|——–.htaccess文件

那么需要在網站根目錄的.htaccess文件中添加以下內容:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?timle\.cn$ [NC]
RewriteCond %{REQUEST_URI} !^/blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ blog/$1
RewriteRule ^(/)?$ blog/index.php [L]

這樣我們就已經把www.timle.cn這個域名綁定到了blog這個子目錄上面,相當于blog就是一個獨立域名主機服務器。aaa.com同理。

但是如果只到這里,你會發現,當你通過aaa.com/blog/的方式也可以訪問www.timle.cn里面的內容,這當然是我們不想看到的。也不利于seo。怎么樣來防止其他域名訪問www.timle.cn中的內容呢?接下來看下面

htaccess 禁止域名互相訪問

blog目錄中的.htaccess文件中添加以下內容:

RewriteEngine On
# 禁止通過非本網站域名訪問
RewriteCond %{HTTP_HOST} !^(www.)?timle.cn$ [NC]
RewriteRule ^.*$ [L,r=404]

通過以上兩個步驟,我們已經成功的實現了域名timle.cn綁定到blog子目錄中,aaa.com同理,并且域名與域名間相互獨立訪問。

如果綁定多個域名到子目錄,那么規則以此類推以上內容后重復即可!

親自測試,正常可用!需要子目錄綁定的空間推薦此辦法!

htaccess 文件代碼解釋

  • 【RewriteEngine On】
    表示重寫引擎開,關閉off,作用就是方便的開啟或關閉以下的語句,這樣就不需要一條一條的注釋語句了。
  • 【RewriteCond %{HTTP_HOST} ^(www\.)?timle\.cn$ [NC]】
    表示重寫條件,前面%{HTTP_HOST}表示當前訪問的網址,只是指前綴部分,格式是www.timle.cn不包括“http://”和“/”,^表 示字符串開始,$表示字符串結尾,\.表示轉義的. ,如果不轉義也行,推薦轉義,防止有些服務器不支持,?表示前面括號www\.出現0次或1次,這句規則的意思就是如果訪問的網址是timle.cn或者 http://www.timle.cn就執行以下的語句,不符合就跳過。還有,不能保證每個人輸入的網址都是小寫的,如果輸入大寫的呢,linux系統是區分大小寫的,所以應該在RewriteCond后添加[NC]忽略大小寫的。
  • 【RewriteCond %{REQUEST_URI} !^/blog/】
    也是重寫條件,%{REQUEST_URI}表示訪問的相對地址,就是相對根目錄的地址,就是域名/后面的成分,格式上包括最前面的“/”,!表示非,這句語句表示訪問的地址不以/blog/開頭,只是開頭^,沒有結尾$
  • 【RewriteCond %{REQUEST_FILENAME} !-f】
    【RewriteCond %{REQUEST_FILENAME} !-d】
    這兩句語句的意思是請求的文件或路徑是不存在的,如果文件或路徑存在將返回已經存在的文件或路徑
  • 【RewriteRule ^(.*)$ blog/$1】
    表示重寫規則,最重要的部分,意思是當上面的RewriteCond條件都滿足的時候,將會執行此重寫規則,^(.*)$是一個正則表達的 匹配,匹配的是當前請求的URL,^(.*)$意思是匹配當前URL任意字符,.表示任意單個字符,*表示匹配0次或N次(N>0),后面 /blog/$1是重寫成分,意思是將前面匹配的字符重寫成/blog/$1,這個$1表示反向匹配,引用的是前面第一個圓括號的成分,即^(.*)$中 的.* 。

版權聲明:本站所有文章和資源使用CC BY-NC-SA 4.0協議授權發布 , 轉載應當以相同方式注明文章來自“SeaOMC.COM->htaccess 一個主機多個獨立網站!在下邊可以分享本文哦!
喜歡 (0)
[]
分享 (0)
奇跡の海
關于作者:
一個WordPress菜鳥!
發表我的評論
取消評論

表情 貼圖 加粗 刪除線 居中 斜體 簽到

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
中国福利彩票36选7开奖结果