這是否可能指向特定變數的子域?
http://whatever.example.com指向http://example.com/file.php?var=1
http://whatever1.example.com指向http://example.com/file.php?var=2
嘗試了下面推薦的答案 - 代碼有效但沒有 css 樣式:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?:www\.)?whatever\.example\.com$
RewriteRule ^ /file.php?var=1 [L,QSA]
RewriteCond %{HTTP_HOST} ^(?:www\.)?whatever1\.example\.com$
RewriteRule ^ /file.php?var=2 [L,QSA]
或者
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteCond %{HTTP_HOST} ^(?:www\.)?([^.] )\.example\.com$
RewriteRule ^ /file.php?var=%1 [L,QSA]
通過添加<base href=""/>標題并為我的 css 創建一個名為 cssfolder 的檔案夾來使其作業,因為根檔案夾不起作用。我不知道為什么?
<base href="../" /> "not working"
<base href="/" /> "not working"
<base href="./" /> "not working"
<base href="/cssfolder/" /> "this work"
uj5u.com熱心網友回復:
當然這是可能的。但是你需要區分一些事情:
URL(“子域”)中的實際主機名不是RewriteRules 模式內部匹配的路徑的一部分。您需要使用 aRewriteCond來訪問該資訊:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?:www\.)?whatever\.example\.com$
RewriteRule ^ /file.php?var=1 [L,QSA]
RewriteCond %{HTTP_HOST} ^(?:www\.)?whatever1\.example\.com$
RewriteRule ^ /file.php?var=2 [L,QSA]
一個典型的變體是交出實際名稱而不是數值。這里 GET 變數將變為v=whateveror v=whatever1:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteCond %{HTTP_HOST} ^(?:www\.)?([^.] )\.example\.com$
RewriteRule ^ /file.php?var=%1 [L,QSA]
當然,這假設所有主機/子域都由同一個 http 服務器提供服務,因為它是內部重寫。
一般來說,我建議您查看要使用的工具的檔案。作為開源軟體的典型,該檔案具有出色的質量,并附帶了很好的示例:https ://httpd.apache.org/docs/current/mod/mod_rewrite.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/425163.html
