Страница 404 и Joomla

AK
На сайте с 13.03.2008
Offline
94
3282

Что-то я запутался немного.

Получается такая проблема:

- если написать адрес несуществующей странице www.site.ru/krakoziabri.html - выводится джумловская страница ошибок;

- если написать адрес несуществующей странице www.site.ru/krakoziabri.xgxg - выводится моя подготовленная страница ошибок.

Скорее всего что-то напутано в .htaccess, но немогу понять что.

Вот что у меня там написано:

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

ErrorDocument 404 /error.html

RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule (.*) index.php

Помогите разобраться пожалуйста.

A_Kulik добавил 13.12.2008 в 16:20

Неужели никто не знает?

Рефки все кончились.
KD
На сайте с 20.12.2008
Offline
24
#1

Разобрались в чем засада? У меня с одним шаблоном то же самое твориться.

Когда нибудь здесь будет рефка.
[Удален]
#2

У меня тоже такая проблема и когда хтасес на сервере гугль бот не может подтвердить права сайта возвращает 404 . сношу фаил хтасес всё потверждает, но при этом сама джумла не работает не одна ссылка на ней. Давайте рещать задачу ?☝

# -----------------======= ВНИМАНИЕ!!! =======----------------------------

# ------- ОБЯЗАТЕЛЬНО УСТАНОВИТЕ CHMOD 644 НА ЭТОТ ФАЙЛ ------------------

# ------------------------------------------------------------------------

# Установка кодировки сайта по умолчанию. При необходимости, закомментируйте.

AddDefaultCharset WINDOWS-1251

# Следующие строки - попытка исправить настройки PHP

# для полного соответствия системным требованиям Joomla.

# Раскомментируйте (символ комментария - #) нужные строки,

# если настройки вашего хоста не соответствуют рекомендациям

# системных требований Joomla.

# При возникновении 500 ошибки сервера, закомментируйте строку, вызывающую

# ошибку, или все строки с php_value.

# php_value register_globals 0

# php_value display_errors 0

# php_value file_uploads 1

# php_value magic_quotes_gpc 1

# php_value magic_quotes_runtime 0

# Пример явного указания каталога для записи сессий:

# Для Windows - c:/temp

# для UNIX - /tmp

# Указанные каталоги должны физически существовать и быть доступны для записи

# При необходимости, раскомментируйте строку ниже этой

# php_value session.save_path /temp

#####################################################

# ПРОЧТИТЕ ПОЛНОСТЬЮ, ЕСЛИ БУДЕТЕ ИСПОЛЬЗОВАТЬ ЭТОТ ФАЙЛ

#

# Строка ниже этого раздела: 'Options +FollowSymLinks' может вызвать проблему

# при некоторых конфигурациях сервера. Она необходима для использования модуля Apache mod_rewrite, но может быть

# уже настроена администратором вашего сервера и изменение этого параметра в .htaccess может быть запрещено.

# Если эта директива вызывает ошибку сервера, то закомментируйте строку (добавьте символ # в

# начало строки), перезагрузите в браузере сайт и протестируйте работу SEF-ссылок. Если они работают,

# то вам не надо ничего менять здесь, т.к. всё уже настроено администратором сервера.

#

# Используйте только один из двух разделов SEF, которые находятся ниже. Строки, которые можно

# раскомментирвать (и использовать) имеют только один #. Строки с двумя символами # раскомментировать не надо.

# В разделах, которые вы не используете, все строки должны начинаться с символа #

#

# Для стандартного SEF, используйте раздел стандартного SEF. Вы можете

# закомментировать все строки с RewriteCond и уменьшить загрузку сервера, если

# у вас в корне нет каталогов с названиями 'component' или 'content'

#

# Если вы используете сторонние компоненты SEF или Core SEF, то раскомментируйте

# все строки в разделе 'SEF сторонних разработчиков или Core SEF'

#

#####################################################

##### РЕШЕНИЕ ПРОБЛЕМЫ С НЕРАБОТАЮЩИМИ URL КОМПОНЕНТОВ #####

# СПЕЦИАЛЬНОЕ ПРИМЕЧАНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ SMF, ИСПОЛЬЗУЮЩИХ МОСТ ИНТЕГРАЦИИ

# ИЛИ ДЛЯ ТЕХ СЛУЧАЕВ, КОГДА НЕ РАБОТАЮТ URL КОМПОНЕНТОВ

#

# В обоих разделах 'Стандартного SEF', и 'SEF сторонних разработчиков или Core SEF' строка:

# RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##опционально - смотрите примечания##

# может быть раскомментирована. Если ваша Joomla/Mambo работает в подкаталоге,

# то в эту строку можно вставить название подкаталога.

# Например, если ваша Joomla/Mambo находится в подкаталоге '/test/',

# то измените:

# RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##опционально - смотрите примечания##

# на:

# RewriteCond %{REQUEST_URI} ^(/test/component/option,com) [NC,OR] ##опционально - смотрите примечания##

#

#####################################################

## Can be commented out if causes errors, see notes above.

# Options FollowSymLinks

#

# mod_rewrite in use

RewriteEngine On

# Uncomment following line if your webserver's URL

# is not directly related to physical file paths.

# Update Your Joomla! Directory (just / for root)

RewriteBase /

########## Begin Standard SEF Section

## ALL (RewriteCond) lines in this section are only required if you actually

## have directories named 'content' or 'component' on your server

## If you do not have directories with these names, comment them out.

#

#RewriteCond %{REQUEST_FILENAME} !-f

#RewriteCond %{REQUEST_FILENAME} !-d

#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##

#RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]

#RewriteRule ^(content/|component/) index.php

#

########## End Standard SEF Section

########## Begin 3rd Party or Core SEF Section

#

#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##

RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule (.*) index.php

#

########## End 3rd Party or Core SEF Section

########## Начало - Правила обработки запросов для блокировки распространенных эксплоитов

## If you experience problems on your site block out the operations listed below

## This attempts to block the most common type of exploit `attempts` to Joomla!

#

# Block out any script trying to set a mosConfig value through the URL

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

# Block out any script trying to base64_encode crap to send via URL

RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]

# Block out any script that includes a <script> tag in URL

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]

# Block out any script trying to set a PHP GLOBALS variable via URL

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

# Block out any script trying to modify a _REQUEST variable via URL

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

# Send all blocked request to homepage with 403 Forbidden error!

RewriteRule ^(.*)$ index.php [F,L]

#

########## Конец - Правила обработки (Rewrite rules) для блокировки распространенных эксплоитов

alexspb
На сайте с 14.11.2005
Offline
187
#3
A_Kulik:
- если написать адрес несуществующей странице www.site.ru/krakoziabri.html - выводится джумловская страница ошибок;
- если написать адрес несуществующей странице www.site.ru/krakoziabri.xgxg - выводится моя подготовленная страница ошибок.

так устроены многие движки:

- .htaccess определяет какие запросы передать скрипту (в частности условие окончание урла: (/|\.htm|\.php|\.html|/[^.]*)$

- урл "разбирается" скриптом на составляющие и динамические формируется страница

это первый случай

когда условие не соблюдается - сервер ищет файл, но не находит его и пользуется директивой

ErrorDocument 404 /error.html

это второй случай

AK
На сайте с 13.03.2008
Offline
94
#4

Спасибо за пояснение.

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

Правильно?

A_Kulik добавил 22.12.2008 в 15:32

To Papa_Karlo

Судя по тому, что у вас записано в .htaccess, задествован ЧПУ сторонних разработчиков. Поэтому, без .htaccess Joomla не работает.

А что там с правами сайта, я не совсем понял суть проблемы?

alexspb
На сайте с 14.11.2005
Offline
187
#5

Да, делаете свой дизайн

и если в .htaccess прописано ErrorDocument 404 /error.html

то положите с вашим же дизайном в корень страничку error.html

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий