404 ошибка - не работает!

12
A7
На сайте с 15.07.2007
Offline
161
2206

Подскажите пожалуйста, сделал сайт, назовем его moy-sait.ru

сделал страничку с 404 ошибкой

прописал в .htaccess

RewriteEngine on

Options +FollowSymlinks

RewriteBase /

RewriteCond %{HTTP_HOST} ^www.moy-sait.ru$

RewriteRule ^(.*)$ http://moy-sait.ru/$1 [NC,R=301,L]

ErrorDocument 401 http://moy-sait.ru/

ErrorDocument 403 http://moy-sait.ru/

ErrorDocument 404 http://moy-sait.ru/404.php

ErrorDocument 500 http://moy-sait.ru/

И все вроде хорошо, все работает, да обнаружил тут в рамблере проиндексированную страничку

http://moy-sait.ru/1.htm/2.htm

И офигел.

Попробывал набрать - есть такая страничка, косая, кривая 1.htm, но редирект на ошибку не срабатывает.

Если написать http://moy-sait.ru/любая белиберда - все работает!

Почему же не срабатывает с http://moy-sait.ru/1.htm/2.htm ?

И откуда она вобще такая взялась?

Поможите, главное, что и страничка такая не одна!(

Что делать не знаю! Выручайте!

AVV
На сайте с 31.07.2006
Offline
84
AVV
#1

Может быть

Options -MultiViews

вам поможет.


Options +FollowSymlinks -MultiViews
A7
На сайте с 15.07.2007
Offline
161
#2
AVV:
Может быть
Options -MultiViews
вам поможет.

Поточнее, как и что прописать?

AVV
На сайте с 31.07.2006
Offline
84
AVV
#3

# Если задана директива MultiViews в числе значений Options,
# сначала сервер попытается открыть файл имя.html и включит его в
# листинг, если файл существует. Если файл имя.html не существует,
# сервер переориентируется на открытие файла
# имя.txt и включение его в листинг в виде простого текста.
И так далее...

Options MultiViews включена в Апаче по умолчанию.

Если вы ее отключите, как я сказал, то в урлах обязательно должно присутствовать расширение файла, например www.site.ru/file.php , иначе будет выскакивать ошибка 404.

ВНИМАНИЕ: т.е. просто www.site.ru/file уже страница открываться не будет.

Подходите к этому с осторожностью. ☝

Отключить можно так:


RewriteEngine on
Options +FollowSymlinks -MultiViews
RewriteBase /
и т.д.
AVV
На сайте с 31.07.2006
Offline
84
AVV
#4

Посидев подумав, мне показалось, что я как-то коряво объяснил, не совсем может быть понятно.

Вот так, более доходчиво:



Если пользователь запросит несуществующую директорию, и опция MultiViews включена, то будет произведен поиск файла с похожим именем и самый похожий будет выведен согласно его типу MIME.

Т.е., если Апач не нашел, к примеру, файл file.html, то он выведет файл file.php и т.д. (файл с похожим именем).

Поэтому у вас, acid777, такая "петрушка" и происходит.

A7
На сайте с 15.07.2007
Offline
161
#5
AVV:
Посидев подумав, мне показалось, что я как-то коряво объяснил, не совсем может быть понятно.

Вот так, более доходчиво:

Спасибо, доходчиво!

Вот только это только написать?

Или что то еще?

RewriteEngine on

Options +FollowSymlinks -MultiViews

RewriteBase /

AVV
На сайте с 31.07.2006
Offline
84
AVV
#6

acid777, но у вас же написано в .htaccess

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.moy-sait.ru$
RewriteRule ^(.*)$ http://moy-sait.ru/$1 [NC,R=301,L]

ErrorDocument 401 http://moy-sait.ru/
ErrorDocument 403 http://moy-sait.ru/
ErrorDocument 404 http://moy-sait.ru/404.php
ErrorDocument 500 http://moy-sait.ru/

Вот туда и добавьте

-MultiViews после +FollowSymlinks

Больше ничего не надо.

П.С. Прежде, чем ставить этот эксперимент, попробуйте, может быть вас спасет просто банальное


<BASE HREF=http://www.moy-sait.ru/>

между <head> и </head> страниц сайта.

A7
На сайте с 15.07.2007
Offline
161
#7

-MultiViews после +FollowSymlinks

не помог! Ничего не произошло

Вставил

<BASE HREF=http://www.moy-sait.ru/>

страничка

http://moy-sait.ru/1.htm/2.htm

обрела картинки (раньше их не было)

Но так и не обрела стили (css)

Редирект на 404 так и не сработал!(

AVV
На сайте с 31.07.2006
Offline
84
AVV
#8
acid777:

Но так и не обрела стили (css)

Вставьте <BASE HREF=http://www.moy-sait.ru/> в <head> перед стилями

<link rel="stylesheet" или

<style>@import

П.С. Ошибку 404, конечно, не будет выдавать, на зато страница приобретет человеческий вид.

----------

Насчет того, почему у вас не срабатывает

Options -MultiViews

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

Так прямо и спросите: почему не получается отключить MultiViews через .htaccess

А хостинг платный или бесплатный?

A7
На сайте с 15.07.2007
Offline
161
#9

У меня уже стоит

<LINK href="image/style.css" type=text/css rel=stylesheet>

Толку нет!(

Хостинг платный! Спрошу!

Может и по этой теме подскажите

/ru/forum/comment/2246944

ГА
На сайте с 21.12.2006
Offline
128
#10
Может и по этой теме подскажите

Закройте их в роботсе.

12

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