2012-05-09 2 views
0

Я пытаюсь отменить прокси-сервер только на домашней странице на веб-сайте - пытаясь использовать приведенные ниже правила. В основном у меня есть альтернативная страница, из которой я хочу, чтобы контент был сервером, но я все же хочу, чтобы исходный URL-адрес сайта отображался с содержимым из обратного прокси. Обе страницы находятся в одном домене - единственное отличие состоит в один www.domain.com, а другая страница www2.domain.comОбратный прокси-сервер только на главной странице

RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC] 
ProxyPass http://www.domain.com http://www2.domain.com/ 
ProxyPassReverse http://www.domain.com http://www2.domain.com/ 

Когда я кладу в правилах выше это не работает - может кто-нибудь показать где я ошибаюсь?

+0

RewriteCond не имеет никакого влияния на проксировании правила, он используется только для правил mod_rewrite. Таким образом, вы можете полностью удалить эту строку, если собираетесь использовать mod_proxy. Было бы также полезно объяснить, что именно происходит - ваши правила вообще не имеют никакого эффекта, или они что-то делают, а не то, что вы ожидаете? –

+0

Я, однако, должен был вставить RewriteCond, потому что мне нужен только обратный прокси-сервер на первой странице, например. www.domain.com и НЕ на что-либо еще, например. www.domain.com/sales и т. д. Когда я устанавливаю правила, ничего не происходит вообще, и передняя страница по-прежнему обслуживается с ее первоначального местоположения, а не прокси-сервера .... надеюсь, что это объясняет это лучше ... спасибо за ваше время ... – frodo

ответ

1

Первый аргумент для ProxyPass и ProxyPassReverse это путь, правильный синтаксис для директив будет

ProxyPass/http://www2.domain.com/ 
ProxyPassReverse/http://www2.domain.com/ 

Но что бы прокси все ваши запросы. Попробуйте

#disable forward requests 
ProxyRequests Off 

#allow proxy requests 
<Proxy *> 
    Order deny,allow 
    Allow from all 
</Proxy> 

#reverse proxy 
RewriteEngine On 
RewriteRule ^/?$ http://www2.domain.com/ [P,QSA,L] 

Если проксирование не удалось, сервер error.log может сообщить вам, что произойдет. Или добавить журнал для mod_rewrite, он расскажет вам, почему он не отражает запрос

RewriteLogLevel 5 
RewriteLog /path/to/a/file 
+0

Спасибо за вашу помощь .... Я пробовал это, но он не работает. Когда я помещаю правила, мне предлагается ввести имя пользователя и пароль со старого сайта, как будто его чтение htaccess файл со старого сайта и не вытягивая содержимое с проксированного нового сайта ... – frodo

+0

@frodo Вам нужно будет проверить, что делает ваш сервер. Я добавил несколько советов для этого. – nikoshr

+0

Выполнение этого сейчас ... спасибо за вашу помощь – frodo

Смежные вопросы