.htaccess: Перенаправление в зависимости от URL-адреса - PullRequest
1 голос
/ 05 января 2011

В моем .htaccess я хочу перенаправить пользователя на другой URL-адрес в зависимости от того, к чему пользователь обращается.

В этом случае http://example.com/awesome.com и http://awesome.com - это один и тот же сайт, и если пользователь обращается к http://example.com/awesome.com,, я хочу, чтобы он или она были перенаправлены на http://awesome.com.

Это возможно?

Редактировать: с помощью ответов я придумал это рабочее решение:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^awesome.com$
RewriteRule ^(.*)$ http://awesome.com/$1 [R=301]

Ответы [ 5 ]

1 голос
/ 05 января 2011

вы можете использовать mod_rewrite (модуль apache2)

. Это - .htaccess, который я использую для перенаправления со старого домена на мой новый (при сохранении структуры ссылки, например, www.domain1.com/link / linkb.html становится www.domain1. gr / link / linkb.html)

RewriteEngine On
RewriteCond %(www\.)?domain1\.com$ [NC]
RewriteRule .* http://www.domain1.gr%{REQUEST_URI} [R=301,L]

google mod_rewrite для получения дополнительной информации (синтаксис и т. д.)

0 голосов
/ 05 января 2011

Проверьте параметры Redirect и RedirectMatch в apache. Для простых случаев, таких как ваш, это проще, чем mod_rewrite.

Redirect /awesome.com http://ww.awesome.com

или

 Redirect permanent /awesome.com http://ww.awesome.com

Теперь, если example.com и awesome.com находятся на одном и том же сервере Apache и одном и том же виртуальном хосте, вы, возможно, пропускаете вещи с именованным базовым виртуальным хостом, и, возможно, пытаетесь сделать что-то действительно более сложное, чем простой именованный базовый виртуальный хост. определение.

0 голосов
/ 05 января 2011

Это правило должно делать это:

RewriteRule ^awesome\.example(/.*)?$ http://www.awesome.example$1 [R=301,L]
0 голосов
/ 05 января 2011

.htaccess - это авторизация, а не перенаправление.Я рекомендую вам взглянуть на поддержку перенаправления для Apache (или любого веб-сервера, который вы используете), который намного лучше подходит для этой проблемы, и просто убедитесь, что ваш .htaccess / authorization соответствует цели.

0 голосов
/ 05 января 2011

Не совсем уверен насчет .htaccess, но вы можете просто использовать код сервера на своей странице 404, чтобы перенаправить их соответствующим образом; таким образом, вы можете собирать статистику, настраивать панель инструментов или любые другие действия, которые вы можете предпринять.

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