powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Apache) mod_rewrite - правила
18 сообщений из 18, страница 1 из 1
(Apache) mod_rewrite - правила
    #33321313
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня на сайте есть папка - news
там скрипт - к примеру - news.php
генерит по параметру
запросы вида http://site.com/news/news.php?id=13
нужно сделать запросі вида news/13/
Причем с помощью файла в .htaccess в каклоге news

но чтобы например news/news.php?id=1234 - тоже работало !

Я пітался - но не вішло... Я вообще слабо понимаю механизм работы этого модуля.
Помогите, если можете.
Заранее спасибо.
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33321319
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
PHP FAQ: Ссылки на полезные ресурсы. ЧПУ, mod_rewrite twistfireЯ пітался - но не вішло...Я пытался надевать - но не вышло. Может подскажешь?
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33321532
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что тебе подсказать?
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33321558
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вот как делаю я
ложу в каталог mod_rewrite
.htaccess
содержания
Код: plaintext
1.
2.
3.
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^(.*)mod_rewrite/(.*)$ $1mod_rewrite/news.php?id=$ 2 

Верно?
Только оно не работает почему то...
Подскажите, а то я не понимаю, может глупый :(
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33321577
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
twistfireчто тебе подсказать?Как надевать.
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33321582
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
twistfireну вот как делаю я
ложу в каталог mod_rewrite
.htaccess
содержания
Код: plaintext
1.
2.
3.
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^(.*)mod_rewrite/(.*)$ $1mod_rewrite/news.php?id=$ 2 

Верно?
Только оно не работает почему то...
Подскажите, а то я не понимаю, может глупый :(Вот это уже лучше. Теперь понятно, что ты пытался надевать штаны через голову ;)
Внимание, вопрос - прочти своё условие задачи. Теперь будь добр, объясни мне, что в RewriteRule делает "mod_rewrite/"?
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33321791
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эт директорий у него так называется... куда лОжит, значица...
По сабжу: а mod_rewrite вообще есть? Его конфигурирование в .htaccess разрешено?
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33322777
однобитный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33323099
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
DocAlЭт директорий у него так называется... куда лОжит, значица...Прочтите условия задачи. Там нет ни слова о директории с именем mod_rewrite.
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33323829
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я наверно совершенно неверно формулирую вопрос.
в общем так:
есть сайт mysite.com
в нем папка mod_rewrite
ложу туда .htaccess и там - это
Код: plaintext
1.
2.
3.
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^(.*)mod_rewrite/(.*)$ $1mod_rewrite/news.php?id=$ 2 

mod_rewrite - разрешен
htaccess работает
мое решение - не работает.
как правильно?

Хочу добиться того. чтобы при обращении к mysite.com/mod_rewrite/213/
віполнялся скрипт mysite.com/mod_rewrite/news.php?id=213

это реально?
Если да - то как?
Приведите код htaccess, если можно с пояснением.

а статью - я прочитал, там написано вполне доходчиво, но все же я не настолько умен :)
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33323872
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда-то я наступил на те же грабли.
Ведь если ты пишешь это в .htaccess, то в первой части правила путь обрезается.
Во-вторых, ты попал в бесконечную рекурсию. нужно жобавлять дополнительное условие выхода, например если страница news.php.
Рабочий пример будет выглядеть так:
Код: plaintext
1.
2.
3.
4.
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^news\.php(.*)$ - [L]
RewriteRule ^(.*)$ mod_rewrite/news.php?id=$ 1 
P.S. Сам я не очень дружу с mod_rewrite, поэтому может быть наглючил...
------------
CMD: Console of Must Die
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33323882
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
RewriteEngine On
RewriteRule ^mod_rewrite/([0-9]+)$ /mod_rewrite/news.php?id=$1 [L,QSA]
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33323886
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо огромное!!

как сделать так - чтобы обрабатывать вызовы например вида
mod_rewrite/число
c помощью правила
RewriteRule ^([0-9]+)$ mod_rewrite/news.php?id=$1 [L,QSA]
я уже понял.
Еще раз спасибо.

а как остальные запросы
ну например
mod_rewrite/какая-то фигня (не число)
просто не перенаправлять модулем, чтобы они шли напрямую к той фигне (не числу) :)?
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33323887
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Ну поставьте точку вместо [0-9] - синтаксис там ПОЧТИ как у регулярников.
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33325773
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет.
спасибо за помощь

вот результаты
содержание htaccess
Код: plaintext
1.
2.
3.
4.
5.
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^([ 0 - 9 ]+)$ mod_rewrite/index.php?id=$ 1  [L,QSA]
RewriteRule ^(.)$ mod_rewrite/index.php?id=$ 1  [L,QSA]

При запросе вида
mode_rewrite/index.php?id=345 - работает
при запросе
mode_rewrite/365 - работает
а вот при запросе
mode_rewrite/365/ - не работает.
что нужно изменить.добавить, чтобы заработало?
И вообще - правильно ли написан htaccess? Может есть какие-то рекомендации?
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33325814
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проще говоря мне нужно было, что бы директория mod_rewrite ра ботала как и обічная...
единственное разлицие только в том, что запросі вида
mod_rewrite/число/
должні передаваться скрипту
mod_rewrite/index.php?id=число

как совершить?
чтобі со слешем работало?
и еще какая разница между * и +
вот здесь
RewriteRule ^(. * )$ mod_rewrite/news.php?id=$1
и здесь
RewriteRule ^([0-9] + )$ mod_rewrite/index.php?id=$1 [L,QSA]

что означает символ " . " ?
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33326002
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
twistfireа вот при запросе
mode_rewrite/365/ - не работает.А с какой кстати должно?
PHP FAQ: Регулярные выражения.
...
Рейтинг: 0 / 0
(Apache) mod_rewrite - правила
    #33326106
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо.
в итоге "код" получился такой

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^([0-9]+/{0,})$ mod_rewrite/index.php?id=$1 [L,QSA]

теперь как я понимаю, нужно позаботиться о правильном генерировании всей навигации :) и ссілок на странице.

Большое спасибо всем.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Apache) mod_rewrite - правила
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]