mod_rewrite `Redirect` как? - PullRequest
       33

mod_rewrite `Redirect` как?

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

У меня есть 2 URL-адреса, скажем, thinkingmonkey.me и thinkingmonkey.com оба имеют IP-адрес 127.0.0.1 (AKA localhost).

Я хочу перенаправить любые запросы на thinkingmonkey.com на thinkingmonkey.me.

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /mysite
    ServerName thinkingmonkey.me
    ServerAlias www.thinkingmonkey.me
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
    Options -Indexes +FollowSymLinks
    RewriteEngine On
</VirtualHost>


<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    ServerName thinkingmonkey.com

    Redirect thinkingmonkey.com  http://thinkingmonkey.me/

  #  Redirect / http://thinkingmonkey.me/ #have even tried this

    ServerAlias www.thinkingmonkey.com
    RewriteEngine on
</VirtualHost>

Когда я пытаюсь получить доступ к thinkingmonkey.com, URL не перенаправляется на thinkingmonkey.me.URL в адресной строке браузера остается thinkingmonkey.com.

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 15 января 2012

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

Options +FollowSymLinks -MultiViews
RewriteEngine on

RewriteCond %{HTTP_HOST} ^(.*\.)?thinkingmonkey\.com$ [NC]
RewriteRule ^ http://%1thinkingmonkey.me%{REQUEST_URI} [L,R=301]

Если вы действительно хотите использовать mod_aias, вы можете поместить эту строку в VirtualHost секцию thinkingmonkey.com:

Redirect 301 / http://thinkingmonkey.me/
0 голосов
/ 15 января 2012

Попробуйте это:

RewriteEngine On
RewriteCond %{HTTP_HOST} !.*thinkingmonkey\.me$
RewriteRule ^/(.*)$ http://thinkingmonkey.me/$1 [R]

Документация: http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

...