Полукондуктор
Хорошо, слеш убрали. Тогда это правило срабатывает на ура. Но... есть второе правило, следущее за тем, что привёл выше:
Код:
RewriteRule (0-9|[a-z])/([^/]+)/$ ./songs_list.php?letter=$1&artist=$2
вводим http://localhost/0-9/artist_name/ На выходе получаем:
songs_list.php?letter=p&artist=artist_name, что неправильно! Если же я ставлю слеш в первом правиле, то второе работает (получаем songs_list.php?letter=0-9&artist=artist_name), а первое - не хочет. Почему так происходит, я не понимаю. А ещё я не могу понять, какую роль играет первый слеш в правилах. Почему ты посоветовал мне убрать именно его?
t3[0one]
спасибо за приведённый код. Во-первых, так никогда не пишут: [/]?. Пиши просто /?. А, во-вторых, не понятно вот это:
Код:
RewriteCond %{REQUEST_FILENAME} !.(css)|(jpg)|(gif)|(png)|(js)$
RewriteRule ^([a-zA-Z0-9]+)[/]?$ /artists_list.php?letter=$1 [L,QSA]
Опять же (css)|(jpg)|(gif)|(png)|(js) - не пишут так! пиши так (css|jpg|gif|png|js). Как, я понимаю, правило
Код:
RewriteRule ^([a-zA-Z0-9]+)[/]?$ /artists_list.php?letter=$1 [L,QSA]
сработает в том случае, если в REQUEST_FILENAME последние два-три символа ни css, ни jpg, ни gif и т.д. Да? А второе правило получается сработает всегда? Всё это не то, не для моего проекта - принцип работы у меня другой. Ещё раз спасибо.