我有一個使用主域(domain.com)的應用程序,我希望能夠將其他域指向相同的內容,而無需維護單獨的代碼實例。該應用程序包含在主域中的文件夾,該文件夾不被搜索引擎等訪問,所以我不擔心搜索引擎優化等。所有的域將在運行Apache的同一臺服務器上。使用相同內容的多個域
我想確保域名保持原來的狀態,而不是重定向到domain.com,因爲這樣做的目的是讓多個客戶可以使用代碼,但是使用他們的顏色標記給他們的應用程序,標誌等使用來自MySQL數據庫的設置。
例如,用戶轉到newdomain.com,他們看到一個登錄表單,它是存儲在/ home/newdomain/public_html中的本地登錄表單 - 成功登錄時,它們被定向到包含應用程序的/文件夾,而不是導向到newdomain.com/folder這是空的我希望他們被重定向到domain.com/folder(即/ home/domain/public_html /文件夾),但仍然在他們的瀏覽器中看到newdomain.com/folder,因此它是透明的他們。
我試過下面https://stackoverflow.com/a/9521102/1278201使用htaccess,但它改變了URL到domain.com:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteRule^http://www.domain.com/%{REQUEST_URI} [R=301,L]
我還發現,使用Apache的配置這似乎是更好的選擇,因爲我不關心SEO裏面提到一個職位但我不知道如果我可以用它來只重定向一個文件夾(即不重定向根目錄,只是重定向/文件夾)https://stackoverflow.com/a/3849129/1278201:
NameVirtualHost *
<VirtualHost *>
ServerName domain.com
DocumentRoot /home/domain/public_html/folder
</VirtualHost>
<VirtualHost *>
ServerName newdomain.com
DocumentRoot /home/domain/public_html/folder
</VirtualHost>
我還發現帖子指出與會話和SSL證書可能存在的問題https://stackoverflow.com/a/140008/1278201這兩個都在應用程序中使用。我很高興爲每個域安裝一個單獨的SSL證書,但上述任何重定向「中斷」會話都可以嗎?如果有人登錄到newdomain.com/folder,然後轉到domain.com/folder,他們需要再次登錄,但是將domain.com/folder重定向到newdomain.com/folder的事實會影響會話安全性?
達到預期結果的最佳方法是什麼?
這正是['ServerAlias'(http://httpd.apache.org/docs/2.2/mod/core.html#serveralias)指令是什麼。 – DaveRandom