Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Apache+mod_rewrite

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Открыть новую тему     Написать ответ в эту тему

Vanya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Значит так-с. (АПАЧ)
Есть такая конструкция http://domain.ru/?id=1
Надо чтобы была такая http://domain.ru/chapter1 ну или http://domain.ru/1
И ко всему прочему, чтобы это еще и работало. Есть такой механизЬм mod_rewrite и что то типа RwriteEngine on прописывается в .htaccess Но как это настраивается чтобы было как мне надо, я не знаю. Кто сможет чем помочь?
 
 


FAQ по Apache
Apache + mod_rewrite: замена ссылок
Руководство по URL преобразованиям
Модуль Apache mod_rewrite - подробнейшее описание на русском

Всего записей: 8 | Зарегистр. 19-09-2002 | Отправлено: 08:53 30-10-2002 | Исправлено: lynx, 01:01 15-02-2004
Mira



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
[/q]
[q]RewriteRule ^page/(.*)/$       /page/index.php?id=$1  
в браузер ссылку http://test.com/page/name1/  

 
RewriteRule ^page/([a-zA-Z0-9\ -]+)/$       /page/index.php?id=$1  
может я конечно че-то не понял...

Всего записей: 1627 | Зарегистр. 25-11-2003 | Отправлено: 12:32 29-03-2005
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mira
получилось !!!!! спасибо огромное
 
Добавлено:
только поменял так
RewriteRule ^([a-zA-Z0-9\ -]+)/$       /index.php?id=$1  
RewriteRule ^page/(.*)/$                  /page/index.php?id=$1
вот пашет ок
но если значение  index.php?id=$1 - nane/name
не пашет! а если просто nane то ок работает!
Можно исправить?
т.е идет имя страницы nane но если там слеш то фиги не пашет
Заранее благодарю,

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 12:59 29-03-2005
coth

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
люди, а возможно ли в mod_rewrite'е
что-нибудь для следующего случая.
 
http://domain.ru/language/folder1/folder2/folderx/?options
 
в
 
http://domain.ru/foder1/folder2/folderx/?language&options
 
 
при том что количество папок может быть разное, включая ноль.
 

Всего записей: 137 | Зарегистр. 11-12-2003 | Отправлено: 01:43 04-05-2005
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
coth
Возможно - всё!
Нужно просто конкренее вопрос задать. Каких папок может не быть при каких условиях... какие переметры в URL и т.д...


----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 11:17 04-05-2005
dacuan

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
coth
Могу ошибаться, но где-то так

Код:
 
RewriteCond %{REQUEST_URI} ^/language/(folder[0-9]/)+$
RewriteRule ^(language)/((folder[0-9]/)+)$       $2?$1&%{QUERY_STRING}
 

 
Добавлено:
Все-таки ошибся)))
Если число папок может быть больше 9, то надо так:

Код:
 
RewriteCond %{REQUEST_URI} ^/([a-z]+)/(folder[0-9]+/)+$  
RewriteRule ^([a-z]+)/((folder[0-9]+/)+)$       $2?$1&%{QUERY_STRING}
 

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 13:09 04-05-2005 | Исправлено: dacuan, 13:17 04-05-2005
coth

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
проблема в том что папки могут быть а могут и не быть. именуются они не folder а по разному (folder просто для приметра)
 
то есть может быть
 
просто
/en/
или
/ru/
 
а может быть
 
/en/news/?news=xxx
 
а может быть
 
/ru/gallery/picture/?id=xx
 
соответственно в
 
/?lang=en
или
/?lang=ru
 
/news/?lang=en&news=xxx
 
/gallery/picture/?lang=ru&id=xx
 

Всего записей: 137 | Зарегистр. 11-12-2003 | Отправлено: 01:33 05-05-2005
dacuan

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
coth
Как говорил Tropin

Цитата:
Нужно просто конкренее вопрос задать.

Исходим из того, имена каталогов могут содержать маленькие английские буквы, цифры и знак подчеркивания.

Код:
 
RewriteCond %{REQUEST_URI} ^/([a-z]+)/([a-z0-9_]+/)+$  
RewriteRule ^([a-z]+)/(([a-z0-9_]+/)+)$       $2?$1&%{QUERY_STRING}
 

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 16:46 05-05-2005
coth

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вообшем работает вот так
RewriteRule ^([en|ru]+)/(([a-z]+/)+)*$       /blabla/$2/?lang=$1%{QUERY_STRING}
без * на конце выдавал ошибку при наличии параметров
то есть если линк выглядит как /ru/news/ то всё работало, а при /ru/news/?id=xx выдавал ошибку...
 
но может ли мне кто-нибудь объяснить зачем надо и что это RewriteCond, вроде и без него работает...?

Всего записей: 137 | Зарегистр. 11-12-2003 | Отправлено: 00:05 09-05-2005
chulim

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не пинайте ежели было, а ткните носом.
Намучался уже с Apache2 for Win
 
Под Linux проблем нет, все работает корректно.
Под Win mod_rewrite заменяет системную переменную SCRIPT_NAME.
 
RewriteEngine On
RewriteRule ^c/(.*)\.htm$ /c.php/$1 [L]
RewriteRule ^ts/(.*)$ /ts.php/$1 [L]
RewriteRule ^(.*)\.htm(.*)$ $1.php$2 [L]
 
т.е. получаются ссылки вида http://localhost/index.htm.htm/page_2
при первом заходе на страницу SCRIPT_NAME index.php.
тискаем ссылку навигатора страниц и SCRIPT_NAME уже index.htm и mod_rewrite прилепливает еще один extension.
 
никто не натыкался на такое?
 

Всего записей: 65 | Зарегистр. 12-12-2002 | Отправлено: 22:13 12-05-2005 | Исправлено: chulim, 16:36 13-05-2005
Davi

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
скажите плж как сделать 301 redirect для коткретного dinamic page?
 
скажем чтобы more.php?id=5620_0_10_0_C  редиректился на more.php?id=15550_0_14_0_C (оба в корне)
я пробую прописать что то в это роде .. никак не хочет работать
 
Redirect 301 more.php?id=5620_0_10_0_C http://www.domain.com/more.php?id=15550_0_14_0_C

Всего записей: 296 | Зарегистр. 31-05-2003 | Отправлено: 00:21 20-05-2005
NoxLD



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста.
Нужно зделать так.  
Есть домен domen.tld  
есть файл file.php  
нужно зделать так что бы если пользователь зашёл по ссылке domen.tld/чтолибо  
юзера перенаправляло на file.php  
Но нужно зделать так чтобы клиент этого не замечал, тоесть без пользования ошибки Error404  
 
Как такое осуществить?

Всего записей: 21 | Зарегистр. 14-06-2004 | Отправлено: 13:47 02-06-2005
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
NoxLD
RewriteRule ^.*$ /file.php  


----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 19:11 05-06-2005
Xomyks



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хотлинк защита защищает ваши файлы от прямых ссылок со сторонних сайтов (как показано далее). Сторонние сайты смогут ссылаться на те файлы которые вы не указали здесь (гапример файлы html). В качестве примера можно привести например <img> тэг для показа изображений, который позваоляет показывать ваши изображения на любом сайте в сети. Конечным результатом использования такой ссылки станет то, что другие сайты будут использовать ваш трафик. Вы должны указать все сайты которым разрешено использовать файлы вашего сайта в списке ниже. Система будет пытаться распознать все ваши сайты и добавлять их в список, но вы также можете добавить и любые другие сайты.  
 
помагите это настроить! пожалуйста!

Всего записей: 40 | Зарегистр. 16-06-2005 | Отправлено: 01:54 17-06-2005
zoza



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
тут кто-то спрашивал:
-------------
Задача такая:
Сделать .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]

----
зы. по идее должно работать, но лично не проверено..

Всего записей: 131 | Зарегистр. 24-01-2004 | Отправлено: 03:42 01-07-2005
CTaJIuH



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А реально из http://example.com/index.php?option=com_frontpage&Itemid=1 получить ссылку http://example.com/main ?

Всего записей: 232 | Зарегистр. 05-03-2003 | Отправлено: 17:51 04-07-2005
MindKeeper



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброго времени суток!
 
Подскажите плиз, как сделать из
 
http://domain.ru/abcdefg/file.zip  
что то вроде
http://domain.ru/dl.php?key=abcdefg&object_id=file.zip
 
?
 
т.е. чтобы пользователю казалось что это файл file.zip в каталоге /abcdef  
но на самом деле запрос передавался бы скрипту.
 
спасибо.
 
и еще, если можно, где можно прочитать про синтаксис регулярных выражений которые в данном случае ипользуются? т.к. как это работает я понимаю, но вот составить выражение - не в состоянии

Всего записей: 224 | Зарегистр. 04-11-2003 | Отправлено: 18:29 10-07-2005 | Исправлено: MindKeeper, 18:38 10-07-2005
Mikhey



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А как сделать чтобы с имя.домен.ру переадресовывало на домен.ру/имя, подскажите плиз!

Всего записей: 997 | Зарегистр. 29-07-2003 | Отправлено: 19:33 19-08-2005
Davi

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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]
 
что же я делаю не правильно?  
 
спасибо

Всего записей: 296 | Зарегистр. 31-05-2003 | Отправлено: 00:39 01-09-2005
Davi

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
any advise please

Всего записей: 296 | Зарегистр. 31-05-2003 | Отправлено: 00:25 02-09-2005
S0ldier



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mikhey
Redirect / http://URL

Всего записей: 3230 | Зарегистр. 18-01-2005 | Отправлено: 00:29 02-09-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Apache+mod_rewrite


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru