0
我們有一個Rails應用,它處理來自m.host.com
和host.com
的請求。如果請求進入m.host.com
,rails應用程序頁面緩存目錄是/public/cache/m/
,如果請求來到host.com
,則頁面緩存目錄爲/public/cache/www/
。如何通過Apache將訪問者重定向到基於子域的唯一頁面緩存目錄
問題是,第一個RewriteCond
正在匹配m.host.com
和host.com
這兩個請求。
# if the `HTTP_HOST` starts with "m." (m.host.com), look for the cache in /cache/m/...
RewriteCond %{HTTP_HOST} ^m\..*
RewriteRule ^([^.]+)/$ /cache/m/$1.html [QSA]
RewriteRule ^([^.]+)$ /cache/m/$1.html [QSA]
# if not, look for the cache in /cache/www/...
RewriteCond %{HTTP_HOST} !^m\..*
RewriteRule ^([^.]+)/$ /cache/www/$1.html [QSA]
RewriteRule ^([^.]+)$ /cache/www/$1.html [QSA]
謝謝,我不得不添加一個規則,使其全部工作:'重寫規則^/$ /索引[QSA]'。這樣當它運行你建議的規則時它會找到'index.html'。 –