- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Буду благодарен тем, кто поделится опытом работы с .htaccess.
Делаем сайт на html и необходимо решить две задачи:
1. Убрать расширение html из URL страниц. Для этого используем директивы -
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ $1.html [NC,L]
Результат - расширения убираются, как и задумано.
2. Санкционировать появление страницы ошибки 404. Для этого вставляем в .htaccess -
ErrorDocument 404 http://mysite.ru/errors/404.html
Все работает и страница ошибок появляется.
Однако эти задачи решаются только по отдельности.
Но когда я пишу все эти директивы вместе - расширения убираются, а страница ошибки 404 не показывается.(( Подскажите пожалуйста в чем здесь дело?
Спасибо! Заработало :)
Поставленные задачи:
1. Убрать расширение html из URL страниц.
2. Санкционировать появление страницы ошибки 404.
удалось решить благодаря совету jkm. Использовались директивы в .htaccess:
RewriteCond %{SCRIPT_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html [L]
ErrorDocument 404 /errors/404.html
А как сделать, чтобы при сохранении этих задач еще добавить закрывающий слэш?
Часто цитируемые команды типа
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
- не срабатывыают((
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
Эти правила действуют ровно наоборот, перенаправляя на адреса без "/".
А предыдущие правила
нужно заменить на такие
...нужно заменить на такие
Спасибо огромное! Это работает :). Пошел учить матчасть.))