簡體   English   中英

.htaccess將子域重寫為動態url

[英].htaccess rewrite subdomain to dynamic url

我正在使用htaccess mod-rewrite將子域url重寫為動態url,例如: subdomain.example.com/shop被重寫為example.com/shop/?page=subdomain

以下代碼可以正常工作:

RewriteEngine On
RewriteCond %{HTTP_HOST} (.*)\.example\.com [NC]
RewriteRule ^(.*)$ http://example\.com/$1/?page=%1 [L,P]

但是問題是如果我們訪問: subdomain.example.com (URL末尾沒有“ shop”),它將顯示一個404錯誤頁面,因為它將URL讀取為: example.com//page=subdomain帶有雙斜杠。 “ //”,因為“ $ 1”為空。

無論如何,我們是否可以將“ $ 1”放在一個條件下,如果它為空,則其旁邊的斜杠“ /”也將被刪除,因此該URL應該被讀取為example.com/page=subdomain ,而之前只有一個斜杠“頁面”參數?

非常感謝任何htaccess專家可以幫助我。

謝謝!

當然,只需為“什么都沒有”情況顯式添加單獨的規則:

RewriteCond %{HTTP_HOST} (.*)\.example\.com [NC]
RewriteRule ^$ http://example\.com/?whatever [L,P]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM