|
|
|
| Хотел применить mod_rewrite.С начало было много проблем (непоказывал картинки и css). Но написав в <head> </head> Всего лишь <base href="http://ttt/"> (local server) все нормализовалось.
У меня 2 вопроса.
1) Достаточно ли <base href="http://ttt/">
2) В .htaccess у меня:
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?lang=$1&cat=$2 [L] // обыкновенные страницы
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /index.php?start=$1&lang=$2&cat=$3 [L] // страницы с страничками (start - с какого числа показывать)
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /index.php?lang=$1&cat=$2&id=$3 / Показывает отдельный запись с id
|
С первыми двумя все нормально работает а с последним (с id) путает переменные
Помогите понять что не так делаю?
Заранее спасибо! | |
|
|
|
|
|
|
|
для: makigo
(02.08.2012 в 14:04)
| | Что-то не понятно... у вас же два последних регулярных выражения абсолютно одинаковы - конечно, происходит путаница, так как все URL обрабатываются только первым правилом. Нужно сузить охват случаев, чтобы регулярные выражения отличались друг от друга. | |
|
|
|
|
|
|
|
для: cheops
(02.08.2012 в 14:16)
| | Так помогло ;)
Правильно сделал?
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?lang=$1&cat=$2 [L] // обыкновенные страницы
RewriteRule ^([0-9]+)/([^/]*)/([^/]*)\.html$ /index.php?start=$1&lang=$2&cat=$3 [L] // страницы с страничками (start - с какого числа показывать)
RewriteRule ^([^/]*)/([^/]*)/([0-9]+)\.html$ /index.php?lang=$1&cat=$2&id=$3 / Показывает отдельный запись с id | |
|
|
|
|
|
|
|
для: makigo
(02.08.2012 в 14:23)
| | Ну вроде да, однако лучше все еще раз проверить и в начале URL использовать какое-то однозначное имя, которое позволит привязывать правило к конкретному типу ссылок. Иначе потребуется добавить еще 3-4 правила и составить их, чтобы они не влияли друг на друга, будет довольно сложно. | |
|
|
|