- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите, пожалуйста, как с помощью правила в файле htaccess сделать редирект так, чтобы все файлы в определённом каталоге поменяли расширение с htm на html? Чтобы сайт не потерял позиций в поисковиках и веса страниц.
Нашёл такой пример:
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html [R=301]
Но он работает на весь сайт, а как указать отдельную дирректорию в которой нужно это сделать, не могу найти как...
Положите его в нужный каталог, а не в корень сайта.
Не помогает. Один htaccess лежит в главной дирректории и в нём переопределены пара файлов по такому типу:
Второй положил в нужную дирректорию указав:
Но при попытке открыть файл из этой дирректории пытается найти его в главной дирректории сайта и выдаётся ошибка:
anbura, попробуйте в htaccess каталога использовать директиву RewriteBase для указания правильного префикса URL
т.е. допустим, если у вас htaccess лежит в каталоге forum, вместо
RewriteBase /
сделайте в нем
RewriteBase /forum
А почему бы не указать имя каталога в самом правиле?
RewriteRule ^(cat/.*)\.htm$ $1.html [R=301,L]
Только поставьте это правило первым
mfl, более правильно все-таки вынести правило для файла из каталоге в файл htaccess этого каталога (а не прописывать это правило в файле htaccess в корне сайте).
Иначе проверка соответствия этому правилу будет производиться при обращении к любому URL на сайте (хотя может это в конечном итоге и не займет сильно много времени).
gormarket, просто Вы в первом посте сообщении, что разместили htaccess в корне.
Можете перенести htaccess в нужную категорию, тогда правило будет выглядеть так:
RewriteRule ^(.*)\.htm$ /cat/$1.html [R=301,L]
---------- Добавлено 04.02.2012 в 14:25 ----------
gormarket, ошибся, подумал Вы ТС
Можете перенести htaccess в нужную категорию, тогда правило будет выглядеть так:
RewriteRule ^(.*)\.htm$ /cat/$1.html [R=301,L]
Этот вроде работает, спасибо большое.
Ещё вопрос про 302 редирект, нужно просто заменить 301 на 302? И нужна ли буква L в этом случае?
Ещё вопрос про 302 редирект, нужно просто заменить 301 на 302? И нужна ли буква L в этом случае?
Просто замените на 302.
флаг L (означающий что это последнее преобразование) нужен (если Вы не хотите применять к новому URL дальнейшие правила преобразований, расположенные ниже по файлу htaccess)
Дабы не плодить темы, спрошу тут:
Как сделать редирект с папки (и всеми вложенными страницами) на морду?
Только нужно через основной htaccess (папка будет удалена).