- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Как в WP сделать редирект со всех страниц на главную сайта? НО при этом оставить админку, робот и карту сайта без редиректа + ещё какие-то страницы если появится необходимость
Вот мой .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
# Исключить перенаправление с главной страницы на себя и для специфических файлов и директорий
RewriteCond %{REQUEST_URI} !^/($|wp-admin|wp-login\.php|robots\.txt)
# Перенаправить все остальные страницы на главную страницу
RewriteRule ^(.*)$ https://site.com/ [R=301,L]
# Стандартные правила WordPress
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Редирект со всех страниц отрабатывает, НО почему то редиректит и robots.txt с /sitemap_index.xml , которые по идее не дожны редиректится так как прописаны в RewriteCond
Как в WP сделать редирект со всех страниц на главную сайта? НО при этом оставить админку, робот и карту сайта без редиректа + ещё какие-то страницы если появится необходимость
Вот мой .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
# Исключить перенаправление с главной страницы на себя и для специфических файлов и директорий
RewriteCond %{REQUEST_URI} !^/($|wp-admin|wp-login\.php|robots\.txt)
# Перенаправить все остальные страницы на главную страницу
RewriteRule ^(.*)$ https://site.com/ [R=301,L]
# Стандартные правила WordPress
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Редирект со всех страниц отрабатывает, НО почему то редиректит и robots.txt с /sitemap_index.xml , которые по идее не дожны редиректится так как прописаны в RewriteCond
Может так?
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !^/wp-admin RewriteCond %{REQUEST_URI} !^/wp-login.php RewriteCond %{REQUEST_URI} !^/sitemap.xml RewriteCond %{REQUEST_URI} !^/robots.txt RewriteCond %{REQUEST_URI} !^/$ RewriteRule ^(.*)$ / [R=301,L]
А вообще рекомендую php скрипт любой админки иди определенного доступа подкрепить кодом (вначале php файла , после <?php добавить):
Дмитрий :
Редирект со всех страниц отрабатывает, НО почему то редиректит и robots.txt с /sitemap_index.xml , которые по идее не дожны редиректится так как прописаны в RewriteCond
Как на самом деле работает mod_rewrite.
Изменение запроса не заканчивается на последнем RewriteRule. После того, как сработало последнее правило RewriteRule и был добавлен RewriteBase, mod_rewrite смотрит, изменился запрос или нет. Если запрос изменился, его обработка начинается заново с начала .htaccess.
RewriteRule . /index.php [L]
Это правило изменит запрос /robots.txt на /index.php и обработка начнётся заново.
В %{REQUEST_URI} будет /index.php и теперь сработает правило:
RewriteCond %{REQUEST_URI} !^/($|wp-admin|wp-login\.php|robots\.txt)
RewriteRule ^(.*)$ https://site.com/ [R=301,L]
Достаточно добавить проверку переменной %{ENV:REDIRECT_STATUS}. Там сохраняется статус предыдущего перенаправления и при первом проходе там пусто.
Ещё вариант вместо %{REQUEST_URI} использовать %{THE_REQUEST}. Её содержимое не меняется при перенаправлении.
Там строка HTTP-запроса "GET /path?query HTTP/1.1".
RewriteCond %{THE_REQUEST} "!^\S+ /([? ]|wp-admin|wp-login\.php|robots\.txt|sitemap(|_index)\.xml)"
Вот мой .htaccess:
# BEGIN WordPress
Не надо лезть в # BEGIN WordPress
# Исключить перенаправление с главной страницы на себя и для специфических файлов и директорий
Возможно, нужно исключить перенаправление всех файлов и директорий: