2012-01-26 221 views
1

我有一個運行Web服務的一個Drupal 6的安裝。因此,如果有人訪問www.example.com/services/json?method=views.get & view_name =「test」,他們會得到正確的編碼響應。重定向URL與查詢字符串子域,維護查詢

我正在做一些維護工作,所以我創建了一個子域,並在將其複製的一切,我想所有請求重定向到子域,而主要的一個正在開發中。所以,當一個請求時,它現在需要去old.example.com/services/json?method=views.get等

我已經嘗試了一些方法,但沒有任何工程。它只是瘋了,說我有太多的重定向,然後頁面加載失敗。

有幾件事情我已經試過:

RedirectMatch 301 /services/json(.*)$ http://old.example.com/services/json$1 

或者

RedirectMatch 301 ^/services/json(.*)$ http://old.example.com/services/json$1 

這裏是文件夾結構的外觀。 -

的public_html裏面有下列頂層文件夾:用我編輯 -old .htaccess文件 - 主Drupal站點的文件(這是包含子站點文件的文件夾,主站點的副本,減去它的.htaccess文件的一些東西)

我懷疑,結構可能有一些,用它做的,但我不知道。

編輯:什麼重定向規則的詳細信息都在.htaccess文件。

頂部的主域名文件夾:

RewriteCond %{HTTP_HOST} ^example\.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 

RedirectMatch 301 ^/services/json(.*)$ http://old.example.com/services/json$1 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !=/favicon.ico 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

子域中的文件夾(我已經在我的測試過程中去除了大部分的其他規則):

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !=/favicon.ico 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

任何幫助表示讚賞。謝謝!

回答

0

你確定你的.htaccess文件/ Apache的配置是不是也影響了域名?子域上的請求也會匹配您的重定向,並創建該循環。

+0

我懷疑你是對的。我如何讓它忽略子域和子域文件夾?請參閱我對該問題所做的編輯。 – jazzdrive3

相關問題