MBo

Рейтинг
88
Регистрация
17.04.2008

решение со стартовой – вносим в начало .htaccess (корень)

DirectoryIndex rus/index.php

теперь возникает проблема с генерацией ссылок на внутряки,

при обращении к морде http://host.com/ скрипт выдаёт относительные ссылки

index.php?a=1&b=2, т.е. браузер обратится http://host.com/index.php?a=1&b=2

а нужно http://host.com/rus/index.php?a=1&b=2, здесь два решения на выбор

1) нужно в html шаблон файла rus/index.php между тегами <head>***</head> вставить

<base href="http://host.com/rus/">

сам html шаблон может находиться где угодно

2) можно кинуть 301 редирект на внутряки, вносим в конец .htaccess (корень)

RewriteRule ^index\.php$ /rus/index.php?%{QUERY_STRING} [R=301,L]

P.S.

в конец .htaccess достаточно одного RewriteEngine On, второй удалить;

host.com заменить на site.kiev.ua, всё должно работать

заменить это

Redirect 301 /catalog/url/ http://www.site.ru/catalog/maincat/cat/url/

следующим

RewriteRule ^catalog/url/(.*)$ /catalog/maincat/cat/url/$1 [R=301,L]


switch($_SERVER['REMOTE_ADDR']) {
case '127.0.0.1':
case '127.0.0.2':
header('Location: http://url-1.com/', true, 301);
exit();
break;
}

// или
switch($_SERVER['REMOTE_ADDR']) {
case '127.0.0.1':
header('Location: http://url-1.com/', true, 301);
exit();
break;
case '127.0.0.2':
header('Location: http://url-2.com/', true, 301);
exit();
break;
}

// или
switch($_SERVER['REMOTE_ADDR']) {
case '127.0.0.1':
header('Location: http://url-1.com/', true, 301);
exit();
break;
case '127.0.0.2':
header('Location: http://url-2.com/', true, 301);
exit();
break;
// остальные IP
default:
header('Location: http://url-3.com/', true, 301);
}

RewriteCond %{REQUEST_URI} ^(.*)/[^/.]+$

RewriteRule (.*) %0/ [R=301,L]

есть URL, на который идёт траф, (напр. host.com/go.php), с этого урла происходит редирект,

адрес редиректа берётся локально из текстового файла, который раз в 10 минут обновляется с удалённого хоста,

траф есть – скрипт работает, когда трафа нет, то скрипту и незачем обращаться за адресом редиректа, поэтому ставить его на крон смысла нет,

код для go.php набросан выше, примерно такое решение нужно, danny_i?


<?php
$tmp_url='tmp_url.txt'; // должны быть права на запись

if(!file_exists($tmp_url) or time() > filemtime($tmp_url) + 600 /* 10min */){
if($get_url=trim(file_get_contents('http://geturl.com/'))){
file_put_contents($tmp_url, $get_url);
}
}

$url=trim(file_get_contents($tmp_url));
// редирект PHP
header('Location: http://'.$url, true, 302);
// или редирект JS
#echo ('<script type="text/javascript">document.location="http://'.$url.'"; </script>');
?>

если правильно понял суть вопроса – сёрфить браузером через IP своего VPS, то здесь подробно расписано решение

имел дело с человеком, слово держит, разговаривать можно – таков мой опыт сотрудничества с esys.

#от 1 цифры

RewriteRule ^([0-9]+)\.html$ rossiya/news/$1.html [L]

#или с ограничением, в этом случае от 1 до 4 цифр

RewriteRule ^([0-9]{1,4})\.html$ rossiya/news/$1.html [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !(\.html|\.xml)$

RewriteRule (.+) /$1.html [R=301,L]

Всего: 82