Проблема с .htaccess...

DUBECZ

Новичок
Пытаюсь сделать ЧПУ из ссылки вида: my.ru/index.php?m=4&y=2014 ссылку: my.ru/4/2014
В .htaccess пишу:
Код:
RewriteEngine on
RewriteRule ^(.*)/(.*)$ index.php?m=$1&y=$2
Оно какбэ работает, но стоит ввести
my.ru/4/2014 - ссылку такого вида, как у мя не подключаются CSS стили....т.е. они должны подключаются по адресу my.ru/css/index.css, а подключаются по адресу my.ru/4/css/index.css. Т.е. откуда-то берется четверка...В чем мб проблема?
 

С.

Продвинутый новичок
"/" -- не просто символ косая черточка, а разделитель директорий. Ты может об этом не знаешь, но браузер в курсе, ведет себя соответственно и вполне корректно. Если ты запрашиваешь страницу "2104" из папки "4", то и стили "css/index.css" он ищет в этой же папке.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Написать путь к css как /css/index.css?
 

С.

Продвинутый новичок
Написать путь к css как /css/index.css?
А потом прийти на форум с вопросом, что делать с картинками (которых много), скриптами и пр..

Не проще ли сделать my.ru/4-2014 и забыть навсегда все проблемы? Хотя конечно у всех клевых пацанов с раёна стоит "/" и это обязывает.
 

DUBECZ

Новичок
А потом прийти на форум с вопросом, что делать с картинками (которых много), скриптами и пр..

Не проще ли сделать my.ru/4-2014 и забыть навсегда все проблемы? Хотя конечно у всех клевых пацанов с раёна стоит "/" и это обязывает.
Хорошая идея...над таким видом я не подумал)спс
 

keltanas

marty cats
А потом прийти на форум с вопросом, что делать с картинками (которых много), скриптами и пр..
купи лучше себе IDE, которая поддерживает find/replace по файлам. А то следуя твоей логике, на сайтах все старницы должны лежать только в корне.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
С., а теперь аргументированно, что не так я предложил? Если у кого то там стоит на слеш, не наша проблема))) есть же простой способ указывать все от корня сайта, зачем изврат?
 

С.

Продвинутый новичок
купи лучше себе IDE, которая поддерживает find/replace по файлам. А то следуя твоей логике, на сайтах все старницы должны лежать только в корне.
Моей логики? Так вроде c0dex про корень предложил, а не я.
С., а теперь аргументированно, что не так я предложил? Если у кого то там стоит на слеш, не наша проблема))) есть же простой способ указывать все от корня сайта, зачем изврат?
А по-моему, взять один из двух специальных символов в УРЛ, сломать его зарезервированное поведение и потом бороться с возникшим побочным эффектом -- вот это изврат. Как будто из двух сотен символов трудно найти другой, не менее красивый.

А относительная адресация к вспомогательным файлам удобнее и естественее абсолютной.
 

keltanas

marty cats
С., хорошо.
Если поступить, как ты предлагаешь, то (например) список новостей будет выводиться по адресу my.ru/4-2014
Но, тогда конкретная новость будет иметь адрес my.ru/4-2014/some-news-slug
и тогда у ТС стили начнут снова подключаться не правильно, только теперь в виде my.ru/4-2014/css/index.css

Что теперь предложишь делать?
 

С.

Продвинутый новичок
Что теперь предложишь делать?
Я предложу вместо совершенно бездумного my.ru/4-2014/some-news-slug сделать my.ru/4-2014-some-news-slug или my.ru/4.2014.some-news-slug или еще как, но только не ставить этот долбаный слеш. Медом его вам намазали что ли?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Слеш - ок, если у тебя по my.ru/2014 будет открываться список за год, а по 2014/4 - за апрель 2014. Иначе как С. и говорит, это бессмысленная беспощадность.
 

Lionishy

Новичок
Что значит css "подключается"?
Если его браузер не оттуда тянет, может там <base> потерялся, а сервер и ни при чём?

По поводу слеша.

Моё руководство говорит, что это лучше для поисковых машин. Не имею понятия, правда ли это. Но вот если запросить "новости 2014 самолёт", то сайт со структурой /newsController/year-2014/newsId-5 будет в более выигрышном положении, чем /news-2014-5 и тем паче /news?year=2014&id=5
 
Последнее редактирование:

keltanas

marty cats
Я предложу вместо совершенно бездумного my.ru/4-2014/some-news-slug сделать my.ru/4-2014-some-news-slug или my.ru/4.2014.some-news-slug
Я бы не хотел находится на сайте, где иерархия разделов через черточки или точечки обозначается. По твоим советам на сайте получается множество одноранговых страниц, когда в реальности страницы содержатся внутри подразделов, а подразделы внутри разделов и т.д. Если провести аналогию с файловой системой, то ты предлагаешь класть все файлы в корень, и при этом вообще не создавать директорий. Только вот /4.2014.some-news-slug скорее выглядит, как документ 4 с расширением 2014.some-news-slug. А что это за расширение, и почему документ именно такого типа, хрен его знает.

Мне казалось, что любой здравомыслящий человек должен бы согласится с http://www.artlebedev.ru/kovodstvo/sections/48/ и http://www.artlebedev.ru/kovodstvo/sections/49/, а оказывается, у окружающих те ещё тараканы в головах.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Я бы не хотел находится на сайте, где иерархия разделов через черточки или точечки обозначается.
Плохо, что ты домыслил то, что у него там есть иерархия, а не то, что у окружающих тараканы.
Я понимаю, что у тебя бы она была, но если ты в формулировку ТС вчитаешься, то там нет ни слова про иерархию.
 

keltanas

marty cats
если ты в формулировку ТС вчитаешься, то там нет ни слова про иерархию.
Ну вот, выходит, что, как ты правильно начал, надо вдолбить ТС про то, что она должна быть, а не про то, что надо разделять разделы черточками и точечками ))
...чтобы не было геморройчика с картиночками и стилями
 

С.

Продвинутый новичок
Я не понял. почему my.ru/2014/4/хххх иерархично, а my.ru/2014-4-хххх или my.ru/2014;4;хххх -- уже нет. Кто сказал, что признак иерархии это исключительно символ слеша? Тем более, что эта иерархия никак не связана с дисковой иерархией, обозначаемой как раз именно слешем и жестко вшитой в поведение браузеров.

Да и список за апрель может также спокойно открываться по my.ru/2014-4 и т.п.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Кто сказал, что признак иерархии это исключительно символ слеша? Тем более, что эта иерархия никак не связана с дисковой иерархией, обозначаемой как раз именно слешем и жестко вшитой в поведение браузеров.
http://tools.ietf.org/html/rfc3986#section-1.2.3
Второй абзац.
 

DUBECZ

Новичок
Ну, я так понял, никто мне не обьяснит как мне сделать правильно?
 

С.

Продвинутый новичок
Что ты этом хотел сказать? Там только подтверждение моих слов.
this uniform representation of hierarchy across naming schemes allows
scheme-independent references to be made relative to that hierarchy.
А ТС нужно как раз противоположное, references to be made irrelative to that hierarchy.
 
Последнее редактирование:
Сверху