鍍金池/ 問答/Linux/ 泛解析的域名,如何將子域名自動與子域名同名的目錄綁定

泛解析的域名,如何將子域名自動與子域名同名的目錄綁定

  1. 不想根據(jù)子域名,分別手動建立相應(yīng)的virtualhost,希望能通過子域名,通過重寫規(guī)則自動綁定到同名的目錄。
    假設(shè)有域名domain.com,已經(jīng)泛解析子域名*.domain.com到該主機的ip。web根目錄為/var/www/。
    我希望在訪問a.domain.com時,能自動綁定/var/www/a/目錄,訪問b.domain.com時,能自動綁定/var/www/b/目錄,以此類推,無限的對應(yīng)關(guān)系。
    主要是.htaccess中的重寫規(guī)則不會寫
  2. 已有主機配置文件main.conf

    <VirutualHost *:80>
        DocumentRoot /var/www/
        ServerName domain.com
        ServerAlias *.domain.com
    </VirtualHost>

    以及/var/www/.htaccess文件

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
        RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$
        RewriteCond %{REQUEST_URL} !^/%1/
        RewriteRule ^(.*)$ %1/$1
    </IfModule>

    此時不論以哪個域名訪問,都會返回服務(wù)器內(nèi)部錯誤

    如果把RewriteCond %{REQUEST_URL} !^/%1/這行配置中的%1替換成具體的字符串,如a,這樣的話,能夠?qū)崿F(xiàn)a.domain.com綁定到/var/www/a/目錄,但是其他域名依然是/var/www/目錄

  3. 參考鏈接

希望我把我的問題表述清楚了,煩請各位大牛解答。

回答
編輯回答
礙你眼

不需要寫.htaccess,甚至這個文件都不建議啟用。

你需要看的其實就是apache的批量虛擬主機,這個在方案官方文檔就有: https://httpd.apache.org/docs...

2018年3月21日 08:09
編輯回答
悶油瓶

感謝@Feng_Yu的答案,這正是我想要的。沒點經(jīng)驗的話,連文檔都不知道從哪兒看起。我研究了一整天rewrite模塊,測試各種RewriteCond RewriteRule,終究是沒搞定。

另外,我發(fā)現(xiàn)了其他解決方案:

再次黑一下百度,找出來的東西都是千篇一律的,收錄的各個結(jié)果,明明都是互相抄借的,連示例名稱都沒改過,也沒人測試過,巨坑。google大好

2018年9月1日 10:09