Искать  
 
   
2 из 4
2
Странные вещи со ссылками... :-(
Отправлено: 13 Август 2008 03:16 P.M.   [ Игнорировать ]   [ # 16 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

а вообще - как у вас обрабатывается 404 ошибка? Насколько я помню, при таком способе RewriteRule нельзя воспользоваться 404 страницей...

p.s. на самом деле еще не все закончено - помнит про то, что у вас есть форум и галерея, которые находятся совсем в другой группе...
Если до вечера ничего не решите, я опубликую “исключающий способ” для вашего сайта с корректной 404 ошибки...

 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Август 2008 06:14 P.M.   [ Игнорировать ]   [ # 17 ]
Студент
Avatar
RankRank
Всего сообщений:  150
Зарегистрирован  2008-02-02
Calm - 13 Август 2008 03:16 P.M.

а вообще - как у вас обрабатывается 404 ошибка? Насколько я помню, при таком способе RewriteRule нельзя воспользоваться 404 страницей...

Да, верно: к странице 404 обратиться теперь не возможно...

Calm - 13 Август 2008 03:16 P.M.

p.s. на самом деле еще не все закончено - помнит про то, что у вас есть форум и галерея, которые находятся совсем в другой группе...
Если до вечера ничего не решите, я опубликую “исключающий способ” для вашего сайта с корректной 404 ошибки...

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

 Подпись 

Запустил WEB-BRICKS - ресурс для web-мастеров. Прошу любить и жаловать!

Профиль
 
 
Отправлено: 13 Август 2008 06:34 P.M.   [ Игнорировать ]   [ # 18 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

проблема не распространилась, но вот решение как раз задело и форум и галерею и самым отрицательным  образом.

P.s. я вообще не понимаю, как у вас работала 404 ошибка - на корректном сайте с таким htaccess ее вообще не должно быть...

 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Август 2008 06:52 P.M.   [ Игнорировать ]   [ # 19 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

сделайте бэкап своего htaccess файла и замените его содержание следующим:

<Files index>
ForceType application/x-httpd-php
</Files>
DirectoryIndex index index.php index.shtml index.html index.htm content.php
Options 
+FollowSymLinks
RewriteEngine On 
RewriteCond 
$^(comments|category|404|library|P[0-9]{2,8}[NC]
RewriteRule 
^(.*)$ /index.php/site/$1 [L] 

RewriteCond 
$^(forums|gallery|member|search|site[NC]
RewriteRule 
^(.*)$ /index.php/$1 [L]

ErrorDocument 404 http
://sen-e.ru/404/ 

в шаблоне 404 (я правильно угадал - site/404 ?) странице разрешите php и вставьте следующий код

<?php
global $TMPL$OUT;
$OUT->out_type '404';
$TMPL->template_type '404';
?> 

это позволит отдавать правильные 404 заголовки

 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Август 2008 08:17 P.M.   [ Игнорировать ]   [ # 20 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

тоесть в этом случае не требуется убирать index.php в админке?

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 13 Август 2008 08:21 P.M.   [ Игнорировать ]   [ # 21 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

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

 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Август 2008 10:30 P.M.   [ Игнорировать ]   [ # 22 ]
Member
RankRankRank
Всего сообщений:  192
Зарегистрирован  2008-01-02

По поводу хостинга: у нас хост один, и работает не один сайт на ЕЕ. А проблема возникла только у данного сайта.
Мне очень интересно, какая причина такой ошибки?

Профиль
 
 
Отправлено: 13 Август 2008 10:52 P.M.   [ Игнорировать ]   [ # 23 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

По-моему, все же проблема носит человеческий фактор - как я и сказал выше, тот метод избавления от index.php и группы, который представляет топик стартер подразумевает, что в качестве 404 страницы в настройках Templates ›  Template Preferences, будет использоваться индексная страница. Отсюда и получается эффект - страница не находится, редирект идет на index с запросом полной страницы и в результате попадает на оригинальную пагу. Но при этом не может быть 404 страницы, а мы ее видели....

 Подпись 

booooring…

Профиль
 
 
Отправлено: 14 Август 2008 08:21 A.M.   [ Игнорировать ]   [ # 24 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

2mrtt
немного расшифрую htaccess который я привел:

RewriteCond $^(comments|category|404|library|P[0-9]{2,8}[NC]
RewriteRule 
^(.*)$ /index.php/site/$1 [L] 

в случае если в 1 сегменте будет присотсвовать какое либо выражение перечисленное через логическое ИЛИ в квычках, то внутри сервера урл будет иметь вид /index.php/site/{наш_первый сегмент} и выводится соответсвующий шаблон.

Таже самая логика и в случае с разделами форума, галерии, поиска и т.п., но так как это все же группы, пришлось прописать их отдельной строкой дабы они не были подгруппой site

RewriteCond $^(forums|gallery|member|search|site[NC]
RewriteRule 
^(.*)$ /index.php/$1 [L] 

в 404 шаблоне нам приходится принудительно прописывать отдачу заголовка ошибки, т.к. в принципе, по своей свой структуре шаблоны для этого не предназначены (ну нет там тип страницы - 404 ).
(хотя... это идея для расширения. Есть же различные css, js типы - можно добавить еще типы шаблона “error_”)
Все остальные страницы, с 1 сегментом, которые мы не перечислили в наших условиях, будут восприниматься сервером так, как мы их видим. То есть урл  index.php/site/comment/id/ будет обрабатываться так же корректно.

минус данного способа только в том, что нужно прописать все первые сегменты (но на самом деле, их не так уже и много). На сайте EE есть схема как это генерировать автоматически, но я считаю это неоправданной нагрузкой на сервер.

Sarmat
Вы проверили приведенный мной код? Я его немного подправил, т.к. забыл про RewriteEngine On и оставил ненужную строчку.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 14 Август 2008 09:06 A.M.   [ Игнорировать ]   [ # 25 ]
Студент
Avatar
RankRank
Всего сообщений:  150
Зарегистрирован  2008-02-02
Calm - 14 Август 2008 08:21 A.M.

Sarmat
Вы проверили приведенный мной код? Я его немного подправил, т.к. забыл про RewriteEngine On и оставил ненужную строчку.

Да, код проверил. Теперь страница 404 выводится корректно. Правда в url теперь прописывает http://sen-e.ru/404 , но это уже мало кого будет беспокоить.
Спасибо огромное!

 Подпись 

Запустил WEB-BRICKS - ресурс для web-мастеров. Прошу любить и жаловать!

Профиль
 
 
Отправлено: 14 Август 2008 09:09 A.M.   [ Игнорировать ]   [ # 26 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

нет, не корректно она у вас выводится - вы скорей всего Php не разрешили в шаблоне - у вас в верхней части страницы:

<?php
global $TMPL$OUT;
$OUT->out_type '404';
$TMPL->template_type '404';
?> 
 Подпись 

booooring…

Профиль
 
 
Отправлено: 14 Август 2008 09:39 A.M.   [ Игнорировать ]   [ # 27 ]
Студент
Avatar
RankRank
Всего сообщений:  150
Зарегистрирован  2008-02-02
Calm - 14 Август 2008 09:09 A.M.

нет, не корректно она у вас выводится - вы скорей всего Php не разрешили в шаблоне.

Верно, действительно забыл это сделать...

Кстати, тут наметилась другая проблемка: стал переадресовывать на 404 при переходе по ссылке вида <a href=”{path=site_category}”>, причём вверху этой 404-й страницы стал выводиться следующий код: out_type = ‘404’; $TMPL->template_type = ‘404’; ?>

 Подпись 

Запустил WEB-BRICKS - ресурс для web-мастеров. Прошу любить и жаловать!

Профиль
 
 
Отправлено: 14 Август 2008 09:53 A.M.   [ Игнорировать ]   [ # 28 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

ну так правильно - php-то там вы не разрешили, вот он и выводит вам код.
под
<a href=”{path=site_category}”>
вы подразумеваете ссылки вида:
http://sen-e.ru/category/C28/ ? (т.к. по ним у вас выводятся нужные страницы)

 Подпись 

booooring…

Профиль
 
 
Отправлено: 14 Август 2008 09:56 A.M.   [ Игнорировать ]   [ # 29 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

p.s. и сделайте как и сказал mrtt, ссылки на скрипты/css с полными путями - у вас чуть-чуть отойдешь на глубину больше 2 сегментов, и все - в  текущем виде они не отображается
add: Все, вижу что php активировали - 404 заголовок отрабатывает нормально, поисковики будут довольны

 Подпись 

booooring…

Профиль
 
 
Отправлено: 14 Август 2008 10:00 A.M.   [ Игнорировать ]   [ # 30 ]
Студент
Avatar
RankRank
Всего сообщений:  150
Зарегистрирован  2008-02-02

Разрешил php. Код терь не выводит.

Да, имею в виду ссылку на вывод всех записей категории, к которой относится некоторая запись. Т.е. на главной это реализовано, как:

{categories}Раздел: <a href="{path=site_category}">{category_name}</a>{/categories} 

Только вот терь не срабатывает эта ссылка.

 Подпись 

Запустил WEB-BRICKS - ресурс для web-мастеров. Прошу любить и жаловать!

Профиль
 
 
   
2 из 4
2