[umka]

[umka]
Рейтинг
456
Регистрация
25.05.2008

Готовы принять клиентов в дар :)

... ну мало ли, может, вы завтра окончательно сворачиваться соберётесь, то чтоб они вас не растерзали ))

PHP:

<?

header('Location: http://microsoft.com');

?>

И договориться с Майкрософт, чтоб они хосты засчитывали.

... но вообще, боты не склонны следовать редиректам.

bearman:
проблема в том, что rewrite round'ы не устанавливают переменную IS_SUBREQ

читаем :)

вот засада ...

... и пациент наш что-то стух

bearman:
не ну это не честно, тут с урлами не поиграешься))

bearman добавил 08.03.2010 в 01:53
RewriteCond %{QUERY_STRING} !nosub

Для этого же есть %{IS_SUBREQ} :)

тоже вариант.

bearman:
не ну это не честно, тут с урлами не поиграешься))

так я и написал, что для данного конкретного случая )

типа когда только '/?id=123' и всё :)

robot-sgibatel:
Можно подробнее, я в пхп полный ноль

$url="topsape.ru"; 

$content=file_get_contents("http://blogs.yandex.ru/search.rss?link={$url}&ft=blog");
$xml = new SimpleXMLElement($content);
foreach ( $xml->xpath('//item') as $item ) {
echo '<b><a href="'.$item->link.'">'.iconv('utf-8','cp1251',$item->title).'</a></b><br>';
echo $item->description;
echo '(<a href="'.$item->author.'">'.$item->author.'</a>)<br><br>';
}

Таки еще одно решение есть конкретно для данного случая. И без %{THE_REQUEST}, заметьте ))

RewriteEngine On
RewriteCond %{QUERY_STRING} "^id=[0-9]+"
RewriteRule ^$ - [F]
RewriteRule ([0-9]+)/ test.php?id=$1

И запросы вида '/?id=123' отбиваются, и запросы вида '/123/' реврайтятся :)

Вам, естественно, последняя строчка будет не нужна.

Лунный Кот:
А вообще да, не супербизон (( губит те конструкции, где есть ?id
В итоге все равно надо отдать в скрипт ?id=23, но юзер должен приходить к этому только через /23/

bearman,

Хаааа-хааааа! 😂

Не, ну тут явно единственное возможное решение через, кхм, %{THE_REQUEST}

И у меня оно даже работает.

Только не понятно, почему у вас хандрит.

Вот живой пример :)

http://nop.ru/123/

http://nop.ru/?id=123

.htaccess


RewriteEngine On
RewriteCond %{THE_REQUEST} "GET /\?id=[0-9]+"
RewriteRule . - [F]
RewriteRule ([0-9]+)/ test.php?id=$1
bearman:
RewriteCond %{QUERY_STRING} "id=[0-9]+"
RewriteRule .* path_to_offcourse_404_error_kha_kha_kha.html [L]

Дык оное загубит реврайт с '/23/' на '?id=23'

bearman:
о боже .. не пугайте людей криптографией

сорри, стараюсь как могу :o

Лунный Кот:
[umka], не пашет, зараза ))

хм... любопытный случай...

тогда попробуем так.

RewriteCond %{THE_REQUEST} (.*)

RewriteRule test1.php test2.php?the_request=%1

и в test2.php пишем

<? echo $_GET['the_request']; ?>

вызываем http://.../test1.php

чё пишет? :)

Всего: 6067