2016-01-27 82 views
2

我正在基於子目錄的drupal7多站點設置,其中example.com用於主網站,example.com/subsite是另一個獨立的drupal安裝。子網站是位於根目錄中的符號鏈接,也指向根目錄以使子網站可以訪問drupal核心文件。重定向/子目錄到/ symlink /子目錄其中/符號鏈接指向/

現在我必須通過example.com/subsite/static提供靜態內容,所以我在根目錄下創建了一個靜態目錄。一切正常。

問題是,該example.com/static現在也可訪問,我想要阻止。

我試圖將所有請求重定向到/ static到/ subsite/static,導致不一致的行爲和重定向循環。

目錄結構:

/ 
/{various drupal directories} 
/subsite ->/
/static 

重寫規則:提前

回答

1

我通過使用重寫條件修復了重定向循環,以前應該想到這一點。

RewriteCond %{REQUEST_URI} !^/subsite/(.*)$ 
RewriteRule ^static/(.*)$ /subsite/static/$1 [L,R=301] 

THX反正@弗洛裏安 - 勒梅特試圖幫助我

1

RewriteRule ^/static/(.*)$ /subsite/static/$1 [R,L] 

THX這是你想要的嗎?

RewriteBase/ 
RewriteRule ^static/(.*)$ /subsite/static/$1 [L,R=301] 
RewriteRule ^subsite/static/(.*)$ /static/$1 [L] 
  • 在我們重定向所有調用/static//subsite/static/第一線。
  • 在第二行中,我們將所有致電/subsite/static/的呼叫重寫爲/static

如果不起作用,請發佈您的整個.htaccess文件。

+0

我會進行一些測試,並讓那麼你知道,THX – electrophanteau

+0

可惜的解決方案是導致重定向循環也一樣,我才得以解決通過從包含子網站的請求中排除重寫規則來解決問題 – electrophanteau