- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите пожалуйста, сделал сайт, назовем его 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 ?
И откуда она вобще такая взялась?
Поможите, главное, что и страничка такая не одна!(
Что делать не знаю! Выручайте!
Может быть
Options -MultiViews
вам поможет.
Options +FollowSymlinks -MultiViews
Может быть
Options -MultiViews
вам поможет.
Поточнее, как и что прописать?
# Если задана директива MultiViews в числе значений Options,
# сначала сервер попытается открыть файл имя.html и включит его в
# листинг, если файл существует. Если файл имя.html не существует,
# сервер переориентируется на открытие файла
# имя.txt и включение его в листинг в виде простого текста.
И так далее...
Options MultiViews включена в Апаче по умолчанию.
Если вы ее отключите, как я сказал, то в урлах обязательно должно присутствовать расширение файла, например www.site.ru/file.php , иначе будет выскакивать ошибка 404.
ВНИМАНИЕ: т.е. просто www.site.ru/file уже страница открываться не будет.
Подходите к этому с осторожностью. ☝
Отключить можно так:
RewriteEngine on
Options +FollowSymlinks -MultiViews
RewriteBase /
и т.д.
Посидев подумав, мне показалось, что я как-то коряво объяснил, не совсем может быть понятно.
Вот так, более доходчиво:
Если пользователь запросит несуществующую директорию, и опция MultiViews включена, то будет произведен поиск файла с похожим именем и самый похожий будет выведен согласно его типу MIME.
Т.е., если Апач не нашел, к примеру, файл file.html, то он выведет файл file.php и т.д. (файл с похожим именем).
Поэтому у вас, acid777, такая "петрушка" и происходит.
Посидев подумав, мне показалось, что я как-то коряво объяснил, не совсем может быть понятно.
Вот так, более доходчиво:
Спасибо, доходчиво!
Вот только это только написать?
Или что то еще?
RewriteEngine on
Options +FollowSymlinks -MultiViews
RewriteBase /
acid777, но у вас же написано в .htaccess
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> страниц сайта.
-MultiViews после +FollowSymlinks
не помог! Ничего не произошло
Вставил
<BASE HREF=http://www.moy-sait.ru/>
страничка
http://moy-sait.ru/1.htm/2.htm
обрела картинки (раньше их не было)
Но так и не обрела стили (css)
Редирект на 404 так и не сработал!(
Но так и не обрела стили (css)
Вставьте <BASE HREF=http://www.moy-sait.ru/> в <head> перед стилями
<link rel="stylesheet" или
<style>@import
П.С. Ошибку 404, конечно, не будет выдавать, на зато страница приобретет человеческий вид.
----------
Насчет того, почему у вас не срабатывает
Options -MultiViews
советую обратиться к вашему хостеру. Он обязан разобраться и сделать так, чтобы MultiViews отключалась.
Так прямо и спросите: почему не получается отключить MultiViews через .htaccess
А хостинг платный или бесплатный?
У меня уже стоит
<LINK href="image/style.css" type=text/css rel=stylesheet>
Толку нет!(
Хостинг платный! Спрошу!
Может и по этой теме подскажите
/ru/forum/comment/2246944
Закройте их в роботсе.