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

» Apache+mod_rewrite

Автор: Cheery
Дата сообщения: 06.03.2006 20:58
Cacka
проще всего перекидывать на скрипт, который будет обрабатывать строку запроса, переделывать и перекидывать по новому адресу.
Автор: Cacka
Дата сообщения: 07.03.2006 06:56
гм...в том то и дело, что скрипт английские символы обрабатывает нормально, а вот русские - нет.
Автор: Cheery
Дата сообщения: 07.03.2006 20:35
Cacka

Цитата:
гм...в том то и дело, что скрипт английские символы обрабатывает нормально, а вот русские - нет.

не должно быть проблем.. и потом.. ссылки вообще не должны содержать русских букв. если так происходит, то менять нужно именно то место, где ссылки создаются.
Автор: Cacka
Дата сообщения: 30.03.2006 00:58
а как модреврайтом можно сделать замену "+" в урл на "_" ?

т.е. есть к примеру ссылка вида /catalog/?name=Pipa+Popa
и хочется превратить её в ссылку вида /name/Pipa_Popa.html
Автор: Cheery
Дата сообщения: 30.03.2006 01:01
Cacka

Цитата:
а как модреврайтом можно сделать замену "+" в урл на "_" ?

в url не должно быть +, они могут быть только в переменных запроса

Автор: Cacka
Дата сообщения: 30.03.2006 01:04
хм...пока редактировал свою мессагу, мне уже ответили...

там как раз и есть запрос.
Автор: kronik
Дата сообщения: 10.05.2006 17:00
немогу найти, да простят меня модераторы.

Только недавно начал работать с apache, нужен совет, как сделать, что б вместо моего ip появлялся определённый домен. А то свой ip лишний раз на показ выставлять нехочется!!! Зарание спасибо.
Автор: Cheery
Дата сообщения: 10.05.2006 18:07
kronik

Цитата:
Только недавно начал работать с apache, нужен совет, как сделать, что б вместо моего ip появлялся определённый домен

сам понял, что сказал?
если есть имя, то значит оно привязано к IP и любой может его узнать
а так.. покупаешь доменное имя, привязываешь в DNS к своему IP и тд и тп.. и mod_rewrite тут не при чем.
Автор: NetAndy
Дата сообщения: 15.05.2006 02:58
Помогите плз с таким делом
есть конструкция в виде

<VirtualHost xxx.xxx.xxx.xxx>
ServerName vasya.puplin.ru
AllowOverride all
Options FollowSymlinks Includes
RewriteEngine on
RewriteRule ^/(.*) http://192.168.35.112/$1 [P]
</VirtualHost>

так вот вопрос как на хосте котрый внутри сети (куда делается Rewrite) получить в логах Апача не ип вышестоящего апача, а реального IP откуда пришли,а то получается я вижу что все запросы из мира идут от моего хоста %)
Автор: Cheery
Дата сообщения: 15.05.2006 03:01
NetAndy

Цитата:
так вот вопрос как на хосте котрый внутри сети (куда делается Rewrite) получить в логах Апача не ип вышестоящего апача, а реального IP откуда пришли,а то получается я вижу что все запросы из мира идут от моего хоста %)

передавать как параметр в url?
Автор: NetAndy
Дата сообщения: 15.05.2006 03:20

Цитата:
передавать как параметр в url?


?? можно более подробно плз
Автор: Cheery
Дата сообщения: 15.05.2006 03:27
NetAndy

Цитата:
?? можно более подробно плз

при форвардинге передавать ?ip=%{REMOTE_ADDR}
Автор: NetAndy
Дата сообщения: 15.05.2006 03:52

Цитата:
при форвардинге передавать ?ip=%{REMOTE_ADDR}


в RewriteCond ? или я не понимаю
Автор: Cheery
Дата сообщения: 15.05.2006 03:56
NetAndy

Цитата:
в RewriteCond ?

да.. либо перебрасывать не на внутренний IP
Автор: Mira
Дата сообщения: 12.06.2006 04:30
ребята, запутался в двух вещах.
1. как в регулярном выражении обозначить ? (не {0,1}) нигде не нашел.
2. если есть правило

Код: RewriteRule ^([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)\.html$ /article.php?url=$2 [L]
Автор: dacuan
Дата сообщения: 13.06.2006 09:19
Mira
GET-параметры передаются с помощью флага QSA:


Код:
RewriteRule ^([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)\.html$ /article.php?url=$2 [L,QSA]
Автор: Mira
Дата сообщения: 27.06.2006 12:56
dacuan
большое спасибо, дейсвительно сработало...
Автор: svk87
Дата сообщения: 01.07.2006 18:58
есть папка на сервере (пути относительно корня document root)
/users/new/
надо чтобы при обращении к этой папке апач вначале искал запрошенныйт файл в ней, затем - в /sites/ и если нашел его то отдавал браузеру..

пока что ума не приложу как сделать
Автор: sghi
Дата сообщения: 23.09.2006 15:09
Не подскажите, почему localhost Apache 1.3.3 (установленный в Windows) с функцией mod_rewrite выдает 404 ошибку в случае если в "переписанном" имени используются заглавные буквы.

Если заглавные на строчные заменить, то все ОК.

А на *сервере* под Unix ошибки нет и все заглавные буквы обрабатываются корректно.
Автор: tlw
Дата сообщения: 05.10.2006 16:37
Проблема такая:

Есть 2 разных сервера.

subdomain.server1.com и server2.com
любой запрос к subdomain.server1.com должен передаватьса с параметрами на server2.com но url переписывать нельзя..

например,
subdomain.server1.com/param1/param2/ должен перекинуть на server2.com/param1/param2/ но в url пользователь должен видеть subdomain.server1.com/param1/param2/

возможно ли это? пробовал кучу вариантов, всё время просто редиректит...

спасибо.
Автор: Cheery
Дата сообщения: 05.10.2006 19:12
tlw

Цитата:
возможно ли это? пробовал кучу вариантов, всё время просто редиректит

использовать mod_proxy
но тогда на второй сервер все запросы будут идти с первого
Автор: tlw
Дата сообщения: 05.10.2006 19:31

Цитата:
использовать mod_proxy


а можно конкретный пример?
это нужно в конце [P] ставить или как?..


Цитата:
но тогда на второй сервер все запросы будут идти с первого


это понятно..
Автор: Cheery
Дата сообщения: 05.10.2006 19:32
tlw

Цитата:
это нужно в конце [P] ставить или как?..

http://httpd.apache.org/docs/1.3/mod/mod_proxy.html

из него нужна опция
http://httpd.apache.org/docs/1.3/mod/mod_proxy.html#proxypass
Автор: Eltheriol
Дата сообщения: 24.10.2006 19:16
Опираясь на http://www.1gb.ru/default.aspx?ti=6&hti=84.

Необходимо сделать направление (www.)liveconcerts.ru на eltheriol.1gb.ru/liveconcerts-ru .

Получился следующий файл .htaccess:


Код:
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{ENV:REDIRECT_MYFLAG} ^$
RewriteCond %{HTTP_HOST} ^(www)?\.liveconcerts\.ru$
RewriteRule ^(.+) %{HTTP_HOST}$1 [E=MYFLAG:1]
RewriteRule ^(www)?\.liveconcerts\.ru(.*) /liveconcerts-ru%{REQUEST_URI} [L]
Автор: denis255
Дата сообщения: 25.10.2006 16:21
Необходимо преобразовать следующее.
есть www1.test.ru:2115
на test.ru
Заранее спасибо.
Автор: DoctorLans
Дата сообщения: 28.03.2007 17:45
Доброго времени суток всем.
Я создал правило, заменяющее index.php?c=news на news.htm с помощью ModRewrite.
Все отлично, все работает.

Я хотел бы также, чтобы при прямом запросе index.php?c=news не отображалась страница, а вываливалась стандартная ошибка 404 ("файл не найден").

Подскажите (или киньте ссылочку) - как это осуществить.

Заранее благодарю.



Добавлено:
Или хотя бы просто: как настроить, чтобы при запросе одного файла, шел редирект на другой?
Автор: BAZIL
Дата сообщения: 10.04.2007 01:04
Вопрос по работе mod_rewrite на Apache 2.0.59. В httpd.conf строчка LoadModule расскомментирована, phpinfo(INFO_MODULES) показывает, что mod_rewrite загружен, но в действии его не видно.

Вот .htaccess файл:


Код: RewriteCond %{HTTP_HOST} (.+)
RewriteCond %{HTTP_REFERER} (?!http://site.ru.*).*
RewriteRule .*\.(?:msi|rar|zip|exe|avi) /block.php [NC]

RewriteCond %{HTTP_HOST} (?:www\.)(.*)
RewriteRule ^/?(.*) http://site.ru/ [R]
Автор: alekseyyp
Дата сообщения: 17.04.2007 12:19
Помогите плиз! Надо http://www.my.com/index.php?jc=021605f
переадресовать на http://www.my.com/
Надо через .htaccess
Делал по разному искал везде не получается.
Делал так
Options +FollowSymlinks
RewriteBase /
RewriteRule ^index\.php$ index/?jc=$021605f

И делал так
rewritecond %{http_host} ^my.com [nc]
rewriterule ^(.*)$ http://www.my.com/$1 [r=301,nc]

Добавлено:
Сори забыл сказать у меня apache 1
Автор: dacuan
Дата сообщения: 19.04.2007 09:37
alekseyyp
В RewriteRule не обрабатывается QUERY_STRING надо что-то типа такого

Код:
RewriteCond %{QUERY_STRING} ^jc=$021605f$
RewriteRule ^index\.php$ http://www.my.com/ [QSA]
Автор: kore
Дата сообщения: 07.06.2007 18:07
Я пытался через htaccess сделать так, чтобы при запросе картинки (jpg или gif), например http://mysite.ru/images/20/1.jpg
происходила подмена на
http://mysite.ru/pict.php?image=images/20/1.jpg
то есть открывалась не сама картинка, а скрипт PHP, который бы открыл её.
При чём действие только для картинок из папки images и её поддиректорий.
Но, блин, оказывается не всё так просто. Добился того, что скрипт запускается, а картинка - нет. Помогите чем можете.

Страницы: 1234567891011

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


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