Перенаправить URL со строкой запроса на поддомен, поддерживая запрос - PullRequest
1 голос
/ 26 января 2012

У меня есть установка Drupal 6, которая запускает веб-сервисы. Поэтому, если кто-то заходит на www.example.com/services/json?method=views.get&view_name="test ", он получает правильный закодированный ответ.

Я выполняю некоторые работы по его обслуживанию, поэтому я создал поддомен и скопировал на него все, и я хочу перенаправить все запросы на поддомен, пока ведется работа над основным. Поэтому, когда приходит запрос, он должен перейти на 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 - верхняя папка со следующим внутри: -основные файлы сайта drupal с файлом .htaccess, который я редактирую -old (это папка, содержащая файлы поддоменов, копия основного сайта, за исключением некоторого содержимого его файла .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]

Любая помощь приветствуется. Спасибо!

1 Ответ

0 голосов
/ 26 января 2012

Вы уверены, что ваш .htaccess файл / конфигурация Apache также не влияет на поддомен?Запросы, которые поступают на поддомен, также будут соответствовать вашему перенаправлению и создадут этот цикл.

...