|
|
|
|
|
для: heed _
(04.09.2009 в 12:24)
| | слушайте точно про фигурные скобки то я не вспомнил и не подумал..) | |
|
|
|
|
|
|
|
для: heed (. .)
(04.09.2009 в 12:06)
| | а если так оставить:
^warez/([0-9 ]+)([0-9 ]+)$
| какая будет разница с этим:
^warez/([0-9 ]+)_([0-9 ]*)$
| ?? кроме подчеркивания и вхождений во второй паатерн ? и кастати обратите еще внимание я умышленно убрал знаки вопроса, такой вариант будет правельным? | |
|
|
|
|
автор: heed _ (04.09.2009 в 12:24) |
|
|
для: *m*
(04.09.2009 в 11:36)
| | Сколько угодно цифр не получится ,) 4 килобайта вроде максимум , что могут схавать некоторые серверы
, но Вам виднее .)
Можно попробовать использовать вместо квантификаторов +и* такие {1,4}и{0,4} | |
|
|
|
|
автор: heed (. .) (04.09.2009 в 12:06) |
|
|
для: *m*
(04.09.2009 в 11:36)
| | Тогда лучше.бы изменить формат ссылки разделив числа, например символом "_"
(некоторые символы лучше не использовать)
получится
^warez/([0-9 ]+)_([0-9 ]+)/?$
, но если в первом случае достаточно было сделать ([0-9 ]*) или ([0-9 ]?) в какой-нибудь из подмасок
, чтобы допустить возможность передачи только одного параметра.
То здесь всё усложнится
Например так
^warez/([0-9 ]+)_?([0-9 ]*)/?$
чтобы обязательным былао только одно число | |
|
|
|
|
|
|
|
для: heed
(04.09.2009 в 09:37)
| | а если id со временем вырастет до ста например? или до 10? то в $1 уже будет две цифры или три, то это будет:
?? тоесть либо одно либо более число вхождений.
и получаеться тогда в строку браузера можно прописать еще сколько угодно цифр, не будет ли это опасно? | |
|
|
|
|
|
|
|
для: *m*
(03.09.2009 в 23:08)
| | ^warez/([0-9])([0-9]+)/?$
но в $1 всегда будет только одна цифра
и совпадает только если не менее двух цифр | |
|
|
|
|
|
|
|
для: heed
(01.09.2009 в 19:06)
| | спасибо за помощь в принципе я окончательно разобрался все заработало..
только вот какой вопрос остался, смотрите, вы приводили мне примеры, когда гетом передавалась одна переменная..например:
делаю так:
RewriteRule ^warez/([0-9]+)$ warez.php?id=$1 [L,QSA]
|
все ок. А если две переменных:
domen.ru/warez.php?id=1&dom=3
|
то по идее вот так:
RewriteRule ^warez/(.*)$ warez.php?id=$1&dom=$2 [L,QSA]
|
но в этом случае, если после слеша остаются только цифры то они как бы плюсуются чтоли, например, резулятом последнего стала ссылка вида:
и запрос пытаеться достать из базы запись с индексом (id) 13, хотя на самом деле это id 1.
а например так: - работает.. А как сделать так чтобы работало в таком варианте: ???? | |
|
|
|
|
|
|
|
для: *m*
(31.08.2009 в 23:50)
| | можно было-бы сказать , что так и нужно сразу выводить "/1.html", вместо "/?id=1"
, но очень может быть что не везде из тех мест, куда попадёт этот скрипт будет использован mod_rewrite
, даже возможно не будет и apache.
Можно только просто сделать в том , из чего берутся настройки конфигурации , такой флаг, используются настоящие ссылки , или используются ссылки , которые разбираются mod_rewrite
, и взависимости от состояния этого флага скрипт должен генерировать один из двух возможных вариантов ссылок.
Дополнительные возможности требуют дополнительных действий,
в том-числе и проверки активировано-ли использование этих возможностей | |
|
|
|
|
|
|
|
для: heed
(29.08.2009 в 17:20)
| | я понял.. хорошо, ну а как тогда мне сделать? как правильно...?
тоесть смотрите, вот у меня данные например хранятья в БД. в БД есть поле id оно автоинкремент. Есть файл например article.php который выводит данные из БД.
тоесть ссылка вывода всех записей будет выглядеть так: somesite.com/article.php?cat=1, например. А ссылки отображения конкретной записи будут выглядеть: somesite.com/article.php?id=1 /// 2,3,4 5 и.т.д соответсвенно.. Так вот, на стадии проектирования так сказать, как мне нужно сделать, чтобы в итоге у меня получились статичные ссылки???
Тоесть чтобы страница загружалась для пользователя сразу с уже статичными ссылками?? | |
|
|
|
|
|
|
|
для: *m*
(29.08.2009 в 15:02)
| | > из динамических ссылок сделать статичные
сделать где??)
> index.php на index.html
так и не должно работать ,) там просто сделано так
, что при запросе URI /index.html , будет отдан /index.php ,
или результат того что с ним сделает обработчик.
И без разницы что там конкретно в html
, mod_rewrite ничего не заменяет, просто он реагирует на запрашиваемые адреса, анализируя их и даже иногда другие факты , и выполняется предписанное .
Конечно можно напрячь обработчик , например mod_php , тем чтобы он буферизовал выводимое, и отдавал только после замены там всех таких ссылок, но проще сделать чтобы ссылки сразу формировались такими какими нужны
, и менее затратно.
// сразу отказываюсь показывать примерно как это будет с буферизацией
, поскольку постолько над сервером нельзя так издеваться , только чтобы у браузеров были красивые ссылки ) | |
|
|
|
|