|
|
|
| Здравствуйте.
Не могу понять, как сделать следующие.
Все понятно, все работает:
RewriteRule ^page/([A-Za-z0-9-_().]+)/? index.php?page=$1 [L]
=>
site.oeg/page/music/ == site.oeg/index.php?page=music
|
Но как сделать (в примере выдается ошибка 404, print_r(); - выдает бред):
RewriteRule ^([A-Za-z0-9-_().]+)/? index.php?page=$1 [L]
=>
site.oeg/music/
|
Не хочется делать ЧПУ на PHP (сейчас на сайте так и есть) - это геморойно и хрупко.
Посоветуйте, что можно сделать? | |
|
|
|
|
|
|
|
для: lElectroHardl
(23.01.2012 в 18:24)
| | Ну как миниму для начала при помощи RewriteCond нужно запретить применение правила для index.php. Ведь после преобразования site.oeg/music/ в site.oeg/index.php?page=music, правило опять применяется к index.php, а это имя опять удовлетворяет ^([A-Za-z0-9-_().]+)/? и так до тех пор, пока mod_rewrite не прекращает это циклическое погружение. | |
|
|
|
|
|
|
|
для: cheops
(23.01.2012 в 18:48)
| | Как это написать. Подскажите. А то чувствую, с моей помощью сервер никогда не запуститься :) | |
|
|
|
|
|
|
|
для: lElectroHardl
(23.01.2012 в 21:58)
| | Посмотрите вот эту тему http://softtime.ru/forum/read.php?id_forum=5&id_theme=81942, там правда index.html, но RewriteCond как раз для вашего случая. | |
|
|
|
|
|
|
|
для: cheops
(23.01.2012 в 22:59)
| | Взял. Все нормально. Все работает.
Но в чем соль... У меня структура ссылок такого уровня:
site.org/index.php?page=music&genre=electro
site.org/index.php?page=music&page=2
site.org/index.php?page=music&author=Linkin_Park
site.org/index.php?page=music&author=Linkin_Park&album=two
|
Т.е. второго уровня (genre, page, author) могут принимать разные значения. И я не знаю, какая именно сейчас переменная выбрана пользователем.
Если делать ЧПУ стандартным методом, то в переменной $page может попасться название исполнителя, что вызовет ошибку...Если делать ЧПУ стандартным методом, то в переменной $page может попасться название исполнителя, что вызовет ошибку...Если делать ЧПУ стандартным методом, то в переменной $page может попасться название исполнителя, что вызовет ошибку...
Я не знаю, как узнать, для какой переменной я сейчас буду делать "понятный УРЛ", для номера страниц, для жанра музыки или для исполнителя. Вот как эту структуру сделать?
Помогите собрать мозг в кучу :) (простите за тофтологию) | |
|
|
|
|
|
|
|
для: lElectroHardl
(24.01.2012 в 00:31)
| | Я обычно чисто для себя (пользователю это не видно) разделяю урл на участки, которые всегда обозначают одно и только одно. Например урл
http://site.ru/a/126(2)/12456/
| будет обозначать исполнитель на букву А, ид исполнителя в БД - 126, страница 2, песня 12456 и порядок цифр в урл не меняется на всем сайте. | |
|
|
|