Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Apache+mod_rewrite

Автор: NoxLD
Дата сообщения: 02.06.2005 12:47
Помогите пожалуйста.
Нужно зделать так.
Есть домен domen.tld
есть файл file.php
нужно зделать так что бы если пользователь зашёл по ссылке domen.tld/чтолибо
юзера перенаправляло на file.php
Но нужно зделать так чтобы клиент этого не замечал, тоесть без пользования ошибки Error404

Как такое осуществить?
Автор: Tropin
Дата сообщения: 05.06.2005 18:11
NoxLD
RewriteRule ^.*$ /file.php
Автор: Xomyks
Дата сообщения: 17.06.2005 00:54
Хотлинк защита защищает ваши файлы от прямых ссылок со сторонних сайтов (как показано далее). Сторонние сайты смогут ссылаться на те файлы которые вы не указали здесь (гапример файлы html). В качестве примера можно привести например <img> тэг для показа изображений, который позваоляет показывать ваши изображения на любом сайте в сети. Конечным результатом использования такой ссылки станет то, что другие сайты будут использовать ваш трафик. Вы должны указать все сайты которым разрешено использовать файлы вашего сайта в списке ниже. Система будет пытаться распознать все ваши сайты и добавлять их в список, но вы также можете добавить и любые другие сайты.

помагите это настроить! пожалуйста!
Автор: zoza
Дата сообщения: 01.07.2005 02:42
тут кто-то спрашивал:
-------------
Задача такая:
Сделать .htaccess файл, который смотрел бы откдуа пришел посетитель, не зависимо к какому файлу в этой папке он обращается. Если referer соответствует заданному, пропускаем, иначе, редирект на 2-ой определенный URL.

Сам знаю mod rewrite очень слабо, поэтому пока для меня эта задача практически нерешаемая.

Спасибо.
--------------


делаем вот так:
в .htaccess
--------
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://(www.)?example.com/$ [NC]
RewriteRule .* - [F,L]
--------
если не с example.com или www.example.com то 403

один минус - если у чела рефер заблокирован то фиг он что скачает.. (но таких пока мало)

можно ещё добавить
RewriteCond %{HTTP_REFERER} !^$
после RewriteEngine on
тогда все прямые заходы (пустой реф) тоже будут работать..
т.е. 403 только если рефер левый (leecher.ru)

можно вместо 403 редиректить куда то.
заменить RewriteRule:
RewriteRule .* http://your_server.com [R]

----
зы. по идее должно работать, но лично не проверено..
Автор: CTaJIuH
Дата сообщения: 04.07.2005 16:51
А реально из http://example.com/index.php?option=com_frontpage&Itemid=1 получить ссылку http://example.com/main ?
Автор: MindKeeper
Дата сообщения: 10.07.2005 17:29
Доброго времени суток!

Подскажите плиз, как сделать из

http://domain.ru/abcdefg/file.zip
что то вроде
http://domain.ru/dl.php?key=abcdefg&object_id=file.zip

?

т.е. чтобы пользователю казалось что это файл file.zip в каталоге /abcdef
но на самом деле запрос передавался бы скрипту.

спасибо.

и еще, если можно, где можно прочитать про синтаксис регулярных выражений которые в данном случае ипользуются? т.к. как это работает я понимаю, но вот составить выражение - не в состоянии
Автор: Mikhey
Дата сообщения: 19.08.2005 18:33
А как сделать чтобы с имя.домен.ру переадресовывало на домен.ру/имя, подскажите плиз!
Автор: Davi
Дата сообщения: 31.08.2005 23:39
Hello

скажите плж возможно такой урл

http://localhost/more.php?id=1111_0_1_0_C

превратить а такой

http://localhost/more/1111_0_1_0_C/

--------------

я пробую что то в этом роде, но "редиска" не хочет работать
RewriteRule /more/([A-Za-z0-9_]+) /more.php?id=$1 [R=301,L]

или
RewriteRule /more/([A-Za-z0-9_]+)/$ /more.php?id=$1 [R=301,L]

что же я делаю не правильно?

спасибо
Автор: Davi
Дата сообщения: 01.09.2005 23:25
any advise please
Автор: S0ldier
Дата сообщения: 01.09.2005 23:29
Mikhey
Redirect / http://URL
Автор: Cheery
Дата сообщения: 01.09.2005 23:32
Davi

Цитата:
any advise please

включи логи и посмотри, как преобразуется.. сразу все станет ясно.
Автор: Davi
Дата сообщения: 02.09.2005 04:55
hmm ... Cheery ,,,

sorry, если туплю, какие логи надо посмотреть?

лог сервера, эррор логи?

да вроде не видел, чтобы там было прописанно такое
Автор: x2com
Дата сообщения: 06.09.2005 15:58
Привет!
У меня есть два вопроса:
Если мы по простому пути идем, например так:
RewriteRule ^(.*).html index.php?section=$1 [NC]
то ели мы обращаемся к файлу index.php?section=1
видим нужную страницу, если обращаемся /1.html - тоже видим эту страницу,
вобщем все работает.

Вопрос 1: Можно ли прописать правила так, чтобы и внутренние ссылки на "переписанных" страницах тоже были переписанные? Или нужно линки в скриптах
определенным образом формировать?

Вопрос 2: Как сделать так, чтобы при заходе на страницу index.php?section=1
был редирект на стороне сервера на 1.html ? Грубо говоря, что бы не было "зеркал"..

Заранее благодарен.
Автор: x2com
Дата сообщения: 07.09.2005 13:22
Помогите кто-нить!
Автор: HoverHell
Дата сообщения: 07.09.2005 20:08
Скажите плиз, а возможно ли при помощи mod_rewrite заставить сервер брать страничку с другого сервера и выдавать её пользователю (не меняя URL)?
Автор: Cheery
Дата сообщения: 07.09.2005 20:15
Davi

Цитата:
да вроде не видел, чтобы там было прописанно такое

включить rewrite логи.. выше есть примеры как делается

HoverHell

Цитата:
Скажите плиз, а возможно ли при помощи mod_rewrite заставить сервер брать страничку с другого сервера и выдавать её пользователю (не меняя URL)?

для этого используется mod_proxy

x2com

Цитата:
Помогите кто-нить!

здесь не чат..

Цитата:
Вопрос 1: Можно ли прописать правила так, чтобы и внутренние ссылки на "переписанных" страницах тоже были переписанные? Или нужно линки в скриптах
определенным образом формировать?

нет.. mod_rewrite тут не при чем.. либо пишешь изначально, либо страницу нужно обрабатывать перед выводом (php, perl, ssi)

Цитата:
Вопрос 2: Как сделать так, чтобы при заходе на страницу index.php?section=1
был редирект на стороне сервера на 1.html ? Грубо говоря, что бы не было "зеркал"..

нехорошо это.. может зациклиться.. нужно хорошо продумать структуру.
Автор: Break_Action
Дата сообщения: 08.09.2005 03:22
Народ, будьте любезны помогите разобраться, дело в том, что у меня есть .htaccess-файл


Код:
RewriteEngine on
Options +FollowSymlinks

RewriteBase /
RewriteRule ^(.*)/(.*)/$ /cgi-bin/$1.pl?$2
Автор: Cheery
Дата сообщения: 08.09.2005 03:57
Break_Action

Цитата:
получаем 500'ую ошибку. Как исправить эту ошибку?

смотрим error_log - там указана причина 500 ошибки
Автор: Break_Action
Дата сообщения: 08.09.2005 12:44
Cheery
Прежде чем задать этот вопрос я уже был в логах, так, что это не вариант ответа.
Автор: Cheery
Дата сообщения: 08.09.2005 15:21
Break_Action

Цитата:
Прежде чем задать этот вопрос я уже был в логах, так, что это не вариант ответа.

и что там было написано?
Автор: Break_Action
Дата сообщения: 08.09.2005 19:09
Cheery
Там написано то , что происходит неверное исполнение построенного мною htaccess файла, из-за того, что применяется две переменных, наличие которых обязательно, но вот попвтавшись построить htaccess с двумя правилами у меня не получилось из-за того, что первое правило первоначально исполняется и после передает результат своей работы во второе правил, где работа происходит уже неверная.

Вот и вопрос как построить структуру с двумя правилами, чтобы они корректно работали. Описание проблемы находится тремя постами выше.
Автор: Cheery
Дата сообщения: 08.09.2005 19:21
Break_Action

Цитата:
Там написано то , что происходит неверное исполнение построенного мною htaccess файла, из-за того, что применяется две переменных, наличие которых обязательно, но вот попвтавшись построить htaccess с двумя правилами у меня не получилось из-за того, что первое правило первоначально исполняется и после передает результат своей работы во второе правил, где работа происходит уже неверная.

мне не нужна интерпретация.. плиз - copy, paste
Автор: Break_Action
Дата сообщения: 08.09.2005 19:38
Урл который я запрашиваю

Код: http://www.server.com/globalizer/zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw/
Автор: Cheery
Дата сообщения: 08.09.2005 20:21

Цитата:
RewriteRule ^(.*)/$ /cgi-bin/$1.pl [L,NS,NC]
RewriteRule ^(.*)/(.*)/$ /cgi-bin/$1.pl?$2 [L,NS,NC]

местами менять пробовал?
Автор: Break_Action
Дата сообщения: 08.09.2005 21:43
Cheery
Но мне казалось, что это как то неверно, может есть способы сделать это ну как бы это сказать покрасивее.
Автор: Cheery
Дата сообщения: 09.09.2005 18:56
Break_Action

Цитата:
Но мне казалось, что это как то неверно, может есть способы сделать это ну как бы это сказать покрасивее.

при чем здесь красиво? еще раз.. местами менял?
у тебя запрос сразу попадает под первое правило и баста.
Автор: sghi
Дата сообщения: 06.11.2005 21:46
Если я изменил правило редиректа, то после этого, чтобы посетители с "закладок" и ссылко на поисковиках не попадали на 404 ошибку, есть два варианта:
1. Поставить все старые ссылки на RedirectPermanent, чтобы они на новые заменялись и заодно поисковиками обновлялись
2. Оставить старый редирект вместе с новым...

Что лучше выбрать? Только аргумент хоть какой то дайте, поскольку для меня оба варианта почти равны.
Автор: denis333
Дата сообщения: 12.11.2005 09:46
Люди помогите
не пойму

сделал я вот так
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.site.ru$
RewriteRule ^(.*)$ http://site.ru/$1 [NC,R=301,L]


а до этого у меня еще было сделано вот такое
RewriteCond %{HTTP_HOST} !^forum.site.ru$
RewriteRule ^forum/?(.+)?$ http://forum.site.ru$1 [R=301,L,NS,QSA]

так вот что получается когда это все написал, то у меня перестала делаться переадресация форума с подпапки на поддомен

когда же я удалил эту штуку
Options +FollowSymlinks

то и форум работает и сайт делается без www

просто не пойму что делает Options +FollowSymlinks и важно ли чтобы оно тоже было прописано?


подскажите кто знает


Добавлено:
и еще вопрос
был поддомен
test.site1.ru

теперь купили домен site2.ru вот хотим сделать mod rewrite на новый домен чтобы не потяретяь эффект раскрукти поддомена

скажите как правильно сделать этот rewrite
а также не будет ли санкций за это от поисковиков?
Автор: Cheery
Дата сообщения: 13.11.2005 02:36
denis333

Цитата:
просто не пойму что делает Options +FollowSymlinks и важно ли чтобы оно тоже было прописано

читай мануалы
http://httpd.apache.org/docs/1.3/mod/core.html#options
Автор: phpbbmods
Дата сообщения: 21.12.2005 09:45
Всем привет, люди добрые опять я со своими проблемами
Вот есть адрес http://www.test.com/catalog/catname/
Вот преобразован естественно с catalog/?id= catname , если убрать /
в конце http://www.test.com/catalog/catname то 404 идет
в основном приходить с западных поисковиков
Подскажите, что прописать в .htaccess чтобы закрывалась слешь
Заранее благодарю,

Страницы: 1234567891011

Предыдущая тема: Защита от атак: выбор фаервола и антивируса для сисадмина


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.