我在Apache中有一個vHost,我想將所有子域重寫到子域www.domain.tld,其中tld-part應該是用戶輸入的子域。Apache vHost mod_rewrite
我已經看過mod_rewrite的文檔,但至少我不明白:)我希望有人能把它交給我。
在我的實際部分虛擬主機,配置IST以下,......但僅匹配子域的問題,但不是頂級域名問題:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+)?domain\.de$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%1domain.de%{REQUEST_URI} [R=301,L]
但我不明白以前的%1我域...
您是否閱讀過*任何*文檔? – Walf
是的,我確實做了,現在明白%1 重寫應該是 'RewriteCond%{HTTP_HOST}!^ www.domain.de $ [NC] RewriteRule。? www.domain.de%{REQUEST_URI} [R = 301,L]' 但這並不能解決我的問題 - 我想重寫它的4個域,有另一個結局。 我是否可以爲每個域編寫此代碼,或者我可以將它用於一個規則中......以及如何實現?沒有找到任何內容:/ – valsel
您有同樣的問題,使用此標籤的人中有超過90%的人在正則表達式中遇到困難。我相信很多人從未發現他們確切的問題,但相似之處無處不在。把你的問題分解成更小的部分。您可以使用'%'反向引用捕獲tld。 '域'總是完全一樣嗎?捕捉這一點。你還需要處理沒有子域? (可能。)這是可能的兩行;再去一次。此外,大塊代碼應該被編輯爲您的問題。 – Walf