Вы не зашли.
Пишу вот это
RewriteEngine On
RewriteRule ^([0-9]*)/$ blog.php?id=$1 [L,QSA]
RewriteRule ^([0-9]*)/([0-9]*)/$ $1/post.php?id=$2 [L,QSA]
Не подходит. Норм Ссылки имеют вид.
/index.php
/blog.php?id=xx
/post.php?id=xx
Ну ид передается файлам ниже
После переписи blog ссылки /xx/post.php?id=yy
Вот и не пойму. Если писать правила как первое, т.е. от папки / то получается все ид одинаковы, хотя это к разным файлам. Где узнать о таких случаях или подскажите? Да и подругому тыкал
Отредактировано НЕЗНАЙКА (2009.11.16 17:05)
ДАУН-Данная Аватара Унаследована Незнайкой
я не понял суть проблемы. одинаковые ID получаются? если так, то проблема не в mod rewrite
Ну да как бы. Более простые адреса вида ?id=xx&string=yy&page=zz Тут легче, переменные только переписать /xx/yy/zz/ В моем случае все в одной папке но вид хотел сделать такой же
ДАУН-Данная Аватара Унаследована Незнайкой
И еще, там в файлах есть замена на смайлы. Так вот путь к ним меняется поэтому нет картинок
Че та страшная штука получается
ДАУН-Данная Аватара Унаследована Незнайкой
Код:
RewriteCond %{REQUEST_FILENAME} !-f |
RewriteCond %{REQUEST_FILENAME} !-d |
проверка файлов/папок на существование. если файл или папка реально существует, то mod rewrite правило работать не будет.
Вот это вроде работает, но смайлы не работают.
Код:
RewriteCond %{REQUEST_FILENAME} !-f |
RewriteCond %{REQUEST_FILENAME} !-d |
RewriteEngine On |
RewriteRule ^([0-9]*)/$ blog.php?id=$1 [L] |
RewriteRule ^post/([0-9]*)/$ post.php?id=$1 [L] |
RewriteRule ^comment/([0-9]*)/$ comment.php?id=$1 [L] |
Но пути таки неверные. Вот например в пути comment/1/ назад ссылка /comment/1/blog.php?id=1 Коммент там не нужен. Пойду еще читать
Отредактировано НЕЗНАЙКА (2009.11.16 22:10)
ДАУН-Данная Аватара Унаследована Незнайкой
пример тут. Посмотри верхние ссылки
ДАУН-Данная Аватара Унаследована Незнайкой
#6, я думаю что то, что написал Геморрой должно быть после включение мод реврайта///
Или лучше мне не думать?
на хую вас вертів
так ведь я не знаю что тебе нужно в итоге получить. как вариант, поставь вначале слеш в ссылках.
Нужно из ссылок
/catalog/
post.php?id=xx
blog.php?id=xx
comment.php?id=xx
Получить
/catalog/
post/xx/
xx/
comment/xx/
Частично это получилось, но работают они только при таком переходе, а ссылки на этих страницах искажаются. Типа comment/xx/post/xx/
ДАУН-Данная Аватара Унаследована Незнайкой
ну так слеш вначале просто поставь. ты же путь указываешь не от корня, браузер ведь не знает что там у тебя модреврайт.
Не так что делаю? Не пойму каким образом делать. Пути в ссылках писать от корня необходимо? А если я перемещу скрипт - все менять снова. Прописав / получаются пути без папки, от корня, но уже не дублируются данные
ДАУН-Данная Аватара Унаследована Незнайкой
dirname($_SERVER['PHP_SELF'])
НЕЗНАЙКА, как вариант, можно сделать так: blog_ID/comment_ID/post_ID/ и проще, и красивее
Как вариант, я разное пробовал. Но не понимаю сути. Но файлы инклуда неверно работают. Рано взялсо. Пока оставлю.
ДАУН-Данная Аватара Унаследована Незнайкой
тебе нужно писать путь от корня, а корень определять с помощью конструкции dirname($_SERVER['PHP_SELF']). А начиная с PHP 5.3 простой константой __DIR__
И что, все пишут от корня реальны ссылки? И от корня / не работает же инклуд, а во всех ссылках писать функцию не привычно
Отредактировано НЕЗНАЙКА (2009.11.17 15:03)
ДАУН-Данная Аватара Унаследована Незнайкой
есть корень для браузера, а есть для php. это разные вещи. тебе нужно указывать корень для браузера
А понял теперь почему картинки не заменялись. Путь в браузере относительный
ДАУН-Данная Аватара Унаследована Незнайкой