我有一個運行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]
任何幫助表示讚賞。謝謝!
我懷疑你是對的。我如何讓它忽略子域和子域文件夾?請參閱我對該問題所做的編輯。 – jazzdrive3