#1 2009.11.16 17:05

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Mod_Rewrite. Это как?)

Пишу вот это
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
Вот и не пойму. Если писать правила как первое, т.е. от папки / то получается все ид одинаковы, хотя это к разным файлам. Где узнать о таких случаях или подскажите? Да и подругому тыкалsad

Отредактировано НЕЗНАЙКА (2009.11.16 17:48)


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#2 2009.11.16 20:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

я не понял суть проблемы. одинаковые ID получаются? если так, то проблема не в mod rewrite

Неактивен

#3 2009.11.16 20:22

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

Ну да как бы. Более простые адреса вида ?id=xx&string=yy&page=zz Тут легче, переменные только переписать /xx/yy/zz/ В моем случае все в одной папке но вид хотел сделать такой же


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#4 2009.11.16 20:58

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

И еще, там в файлах есть замена на смайлы. Так вот путь к ним меняется поэтому нет картинокsad Че та страшная штука получается


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#5 2009.11.16 21:34

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

Код:

1
2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

проверка файлов/папок на существование. если файл или папка реально существует, то mod rewrite правило работать не будет.

Неактивен

#6 2009.11.16 22:33

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

Вот это вроде работает, но смайлы не работают.

Код:

1
2
3
4
5
6
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:42)


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#7 2009.11.16 22:59

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

пример тут. Посмотри верхние ссылки


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#8 2009.11.16 23:09

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Mod_Rewrite. Это как?)

#6, я думаю что то, что написал Геморрой должно быть после включение мод реврайта///
Или лучше мне не думать? smile


на хую вас вертів

Неактивен

#9 2009.11.16 23:10

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

так ведь я не знаю что тебе нужно в итоге получить. как вариант, поставь вначале слеш в ссылках.

Неактивен

#10 2009.11.16 23:16

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

Нужно из ссылок
/catalog/
  post.php?id=xx
  blog.php?id=xx
  comment.php?id=xx
Получить
/catalog/
  post/xx/
  xx/
  comment/xx/
Частично это получилось, но работают они только при таком переходе, а ссылки на этих страницах искажаются. Типа comment/xx/post/xx/


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#11 2009.11.16 23:18

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

ну так слеш вначале просто поставь. ты же путь указываешь не от корня, браузер ведь не знает что там у тебя модреврайт.

Неактивен

#12 2009.11.16 23:41

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

Не так что делаю? Не пойму каким образом делать. Пути в ссылках писать от корня необходимо? А если я перемещу скрипт - все менять снова. Прописав / получаются пути без папки, от корня, но уже не дублируются данные


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#13 2009.11.17 09:25

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

dirname($_SERVER['PHP_SELF'])

Неактивен

#14 2009.11.17 11:49

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

Re: Mod_Rewrite. Это как?)

НЕЗНАЙКА, как вариант, можно сделать так: blog_ID/comment_ID/post_ID/ и проще, и красивееwink

Неактивен

#15 2009.11.17 14:33

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

Как вариант, я разное пробовал. Но не понимаю сути. Но файлы инклуда неверно работают. Рано взялсо. Пока оставлю.


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#16 2009.11.17 15:27

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

тебе нужно писать путь от корня, а корень определять с помощью конструкции dirname($_SERVER['PHP_SELF']). А начиная с PHP 5.3 простой константой __DIR__

Неактивен

#17 2009.11.17 15:47

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

И что, все пишут от корня реальны ссылки? И от корня / не работает же инклуд, а во всех ссылках писать функцию не привычно

Отредактировано НЕЗНАЙКА (2009.11.17 15:49)


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#18 2009.11.17 16:23

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

есть корень для браузера, а есть для php. это разные вещи. тебе нужно указывать корень для браузера

Неактивен

#19 2009.11.17 16:44

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: Mod_Rewrite. Это как?)

А понял теперь почему картинки не заменялись. Путь в браузере относительный


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.013 s