Apache-2.4
使用 ServerAlias 重寫 Apache URL
我有一個在 CentOS 7 伺服器上執行的虛擬主機,它為 2 個 Prestashop 商店提供服務。
在這個 vhost conf 文件中,我有一個 ServerName 和一個 ServerAlias,每個都指向一個專用儲存。
最近我把兩個商店都搬到了HTTPS,但還有一個問題:我知道如何重寫URL以從HTTP重定向到HTTPS,但是我可以根據客戶端詢問的URL進行重定向嗎?
我知道如何用 2 個虛擬主機來做,但由於 conf 幾乎相同,我只想用一個文件來做。
範例:在同一個 Vhost conf 文件中重寫AND
http://store1.example.com
到all。https://store1.example.com``http://store2.example.com``https://store2.example.com
您可以只使用 apache 設置的 HTTP_HOST 變數:
<VirtualHost *:80> ServerName store1.example.com ServerAlias store2.example.com RewriteEngine On RewriteRule ^/?(.*)$ https://%{HTTP_HOST}/$1 [R=301] </VirtualHost>
您可以根據需要將它們放在一個或多個文件中,但最直接的方法是使用多個
<VirtualHost>
指令:<VirtualHost *:80> ServerName store1.example.com Redirect permanent / https://store1.example.com </VirtualHost> <VirtualHost *:80> ServerName store2.example.com Redirect permanent / https://store2.example.com </VirtualHost> <VirtualHost *:443> ServerName store1.example.com ServerAlias store2.example.com ... </VirtualHost>