Есть ли способ выполнить перенаправление на другой сайт без потери исходного URL-адреса? Итак, чего мы хотели бы достичь, так это иметь доступ к:
somesite.com/some/url -> someothersite.com/some/url
но мы хотели бы сохранить somesite.com/*
.
Другими словами, мы хотели бы получить доступ каждый URL из someothersite.com
через somesite.com
.
Если вы пытаетесь перенаправить только подкаталог сервера, вы можете использовать mod_rewrite следующим образом:
RewriteCond %{REQUEST_URI} /some/url [NC]
RewriteRule ^(.*)$ other.example.com/$1 [R]
Если вы пытаетесь показать содержимое другого сайта без того, чтобы пользователь видел другой URL, вам понадобятся как mod_rewrite, так и mod_proxy.
RewriteCond %{REQUEST_URI} /some/url [NC]
RewriteRule ^(.*)$ http://other.example.com/$1 [P]
Для mod_proxy могут потребоваться другие шаги настройки, в зависимости от вашей среды.
Apache's Расширенное руководство по mod_rewrite может принести пользу.
Вы действительно ищете переадресацию или чтобы контент этого другого сайта отображался под вашим исходным URL-адресом (больше проксирования)? Я предполагаю, что другой сервер - это ваш контент и либо внутренний / внутренний, либо, если публично, вы знаете о негативных последствиях SEO. Если someothersite.com не является вашим сайтом и контентом, вам, вероятно, не следует этого делать.
Вам нужно будет запустить mod_proxy и mod_rewrite, которые, вероятно, раскомментируют строки, упоминающие это, если еще не сделали.
Затем в конфигурации somesite.com:
RewriteEngine на
RewriteRule /some/url(.*) http://someothersite.com/some/url$ 1 [P, L]
Я бы просто добавил файл, который просто перенаправляет пользователя с помощью мета-обновления HTML, или, если вы хотите перенаправить пользователя наиболее приемлемым способом, добавьте правило перенаправления 301 в файл .htaccess где-нибудь на сайте .
Пример:
Redirect 301 /some/url http://newsite.com/some/url