LINUX.ORG.RU
ФорумAdmin

Apache: помогите с редиректом.


0

0

Apache22.

Нужно что бы с адреса вида http://my.domain.com автоматом перекидывало на адрес http://my.domain.com/foo/bar (хост виртуальный).

Как сходу сделать не знаю, а рыться сегодня как-то лень =). Если кто знает решение - напишите.

Заранее большое спасибо и с праздником!

Можно так:


<html>
<head>
<script language="JavaScript1.1" type="text/javascript">
<!--
location.replace("http://my.domain.com/foo/bar "); // текущая страница будет заменена в history на новую — важно в плане юзабилити
//-->
</script>
<noscript>
<meta http-equiv="Refresh" content="0; URL=http://my.domain.com/foo/bar "> <!-- для тех нескольких процентов «сёрферов», которые отключили JavaScript -->
</noscript>
</head>
<body>
Мы перебрались на <a href="http://my.domain.com/foo/bar ">новое местечко</a>.
</body>
</html>

Morphine
()

Или через .htaccess:

URL - path : локальная часть URL запрашиваемого документа.
URL : URL куда должен быть выполнен редирект
Redirect doc/ http://my.domain.com/foo/bar 
Redirect doc/index.html http://my.domain.com/foo/bar 
redirect /~AM http://my.domain.com/foo/bar 
redirect /~AM/index.shtml http://my.domain.com/foo/bar 
redirect http://my.domain.com/foo/bar http://my.domain.com/foo/bar 


Да и гугл тебе многое раскажет по запросу redirect, лентяй.

Morphine
()

cat index.php
<?
header("Location: foo/bar");
?>

Komintern ★★★★★
()

используй .htaccess и mod_rewrite

.htaccess
-------------------------------------------------
Options +FollowSymlinks
RewriteEngine on
rewritecond %{HTTP_HOST} ^my.domain.com
rewritecond %{REQUEST_URI} !/foo/bar
rewritecond %{REQUEST_URI} !/foo
rewriterule ^(.*)$ http://my.domain.com/foo/bar/$1 [r=301,L]

serjio28
()
Ответ на: комментарий от serjio28

mod_rewrite для банального редиректа - стрельба из пушки по воробьям.

Новичкам я бы посоветовал перед изучением mod_rewrite сначала ознакомиться с возможностями mod_alias. Избавляет от многих глупых проблем.

nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.