Как перенаправить пользователя с помощью Apache Rewrite на полное доменное имя? - PullRequest
9 голосов
/ 12 июня 2010

Я действительно новичок в модуле apache mod_rewrite. У меня есть страница под названием http://abc во внутренней сети моей компании. Я хочу, чтобы пользователи перенаправлялись на http://abc.somecompanyname.com всякий раз, когда они вводят http://abc в строку URL. Может ли кто-нибудь предоставить пример и указать мне в правильном направлении.

Полагаю, на этот вопрос ответить довольно просто. Спасибо всем за ваш вклад.

-Марк

Ответы [ 3 ]

11 голосов
/ 25 января 2014

Цитата из Документация Apache 2.4 :

Самый лучший способ решить эту проблему - совсем не использовать mod_rewrite, а использовать директиву Redirect, размещенную на виртуальном хосте, для неканонических имен хоста.

<VirtualHost *:80>
  ServerName undesired.example.com
  ServerAlias example.com notthis.example.com

  Redirect / http://www.example.com/
</VirtualHost>

<VirtualHost *:80>
  ServerName www.example.com
</VirtualHost>

Для этого нужен еще один виртуальный хост, но в нем нет недостатка. Решение очень хорошо работает для меня - и мне нравится, как перенаправляются «нежелательные» хосты и конфигурация канонического хоста.

5 голосов
/ 12 июня 2010

Это можно сделать с помощью простого определения VirtualHost на сервере, обрабатывающего запросы для abc:

<VirtualHost *:80>
    ServerName abc
    RewriteEngine on
    RewriteRule ^/(.*)$ http://abc.somecompanyname.com/$1 [R,L]
</VirtualHost>
2 голосов
/ 20 сентября 2012

Я нашел совет в Apache2 Руководство по перезаписи URL работало лучше.

В итоге я получил:

RewriteEngine on
RewriteCond %{HTTP_HOST}   !^foo\.bar\.com [NC]
RewriteCond %{HTTP_HOST}   !^$ 
RewriteRule ^/(.*)         http://foo.bar.com/$1 [L,R]

Строка "RewriteEngine on" не была 't включен в пример Apache2.Может быть, он обычно включен по умолчанию, но в моем случае мне нужно было его добавить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...