Я пытаюсь настроить правило перезаписи, чтобы при вводе URL-адреса он отображался как example.com/test
.
Так, например, я пытаюсь это сделать, если это вообще возможно.
Я установил CNAME для site.example.com
указать на site.devexample.com
(Удаленная среда разработки на стороне поставщика)
Если пользователь посещает site.example.com
URL-адрес будет переписан на что-то вроде этих строк example.com/test
.
То, что у меня есть, но, похоже, не работает, когда я захожу site.example.com
он остается как есть.
# rewrite rules for site.example.com
RewriteCond %{http_host} ^site\.example\.com [NC,OR]
RewriteCond %{http_host} ^www\.site\.example\.com [NC]
RewriteRule $ http://example.com/test/ [R,L]
Мне нужно будет делать обратный прокси, а затем переписывать оттуда?
РЕДАКТИРОВАТЬ: Прошу прощения, я должен был объяснить немного лучше. site.example.com принадлежит test.com (компания A). Поэтому мы изменили CNAME, чтобы указать на site.devEnvironment.com (companyB.com)
и test.com/test - это наш сервер и каталог, пытаясь переписать URL-адрес на test.com/test вместо site.example.com
Наши перенаправления настраиваются в файле httpd.conf, не уверен, что это тоже поможет
Я собираюсь предположить, что регулярное выражение rewritecond или rewritemap не соответствует. Я обнаружил, что они скользкие.
Убедитесь, что у вас очень подробное ведение журнала mod_rewrite (набор apache 2.4 LogLevel, набор apache 2.2 RewriteLog) Если вы не являетесь администратором веб-сервера, это, вероятно, вам не поможет.
Попробуйте переписать вот так:
RewriteRule ^foobar /clams/%{HTTP_HOST}/fish [R,L]
поскольку foobar
- нонсенс, реальный трафик не помешает. Укажите в браузере foobar
и он будет перенаправлен в другое бессмысленное место и выдаст вам ошибку, но в строке URL также будет указано, что именно %{HTTP_HOST}
var содержит. (Моллюски и рыба должны действовать как кавычки, поэтому, если %{HTTP_HOST}
содержит косую черту или пробел другого сложного символа, вы это увидите.)
(удален / из foobar для совместимости с .htaccess, thnx @ w3dk)
В итоге я установил proxypass / test site.example.com
Таким образом, когда сервер видит / тестирует, он загружает контент с site.example.com