
- php
- .htaccess
- http-status-code-404
- веб-сайт
- error404
Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через Facebook Регистрация через почтуОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
настраиваем 301 редирект ⋆ Калейдоскоп событий
Содержание:
Быстрая навигация по этой странице:
- Вместо вступления
- Основные выражения для записей кодов
- Приступаем к работе
- Полезный совет
Вместо вступления
Часто, набирая какой — нибудь адрес в поисковой системе, пользователь натыкается на сообщение, что такого адреса или страницы не существует. Для недопущения таких случаев создателями web-сайтов и URL – адресов используется htaccess 301 редирект, т.е. перенаправление в директиве htaccess (не путать с редиректом на PHP).
Редирект htaccess дается в помощь веб-мастеру для того, чтобы после создания нового URL-адреса поисковик интернета не только быстро нашел запрашиваемую страницу, но и для идентификации старого URL – адреса с новым.
htaccess — файл для важной конфигурации веб-серверов. Позволяет задавать наибольшее количество уточняющих параметров и разрешений для работоспособности веб-сервера у разных пользователей интернета. index\.php$ http://www.site.com/kontakti? [R=301,L]
[/code]
Редирект на другой сайт будет работать по отношению только к единственному конкретному адресу. Можно задать сразу несколько разных адресов. Также можно создать перенаправление и с помощью записи директив для модуля типа mod_rewrite. В этом случае переадресация с домена с www на адрес без www будет иметь вид:
Полезный совет
Так как память у нас не резиновая и держать все особенности настройки и весь синтаксис в ней очень трудно, то лучше всегда иметь в доступности файл-документ, в котором прописан редирект 301 со всей официальной документацией по теме. И, после настройки перенаправления, не забывайте проверять внутренние и главную страницы, как они работают. Реакция поисковых систем во многом зависит от самого сайта и его качества: если он трастовый, то весь процесс может занять не менее недели, идаже превысить один месяц.
apache 2.

спросил
Изменено 9 лет, 7 месяцев назад
Просмотрено 21к раз
У меня есть простой файл .htaccess, который отлично работает на http-версии сайта, но не работает, когда я перехожу на https. Почему? 9(.*)$ index.php?id=$1 [L, QSA]
- apache-2.2
- mod-rewrite
- .htaccess
Здесь недостаточно информации на 100%, чтобы продолжить, но в обычной настройке SSL по умолчанию (например, Red Hat/CentOS/Fedora) VirtualHost для SSL это установлен в собственном контейнере. Использование mod_rewrite требует, чтобы как минимум «AllowOverride FileInfo» был установлен в корне документа, чтобы он работал.
Проверьте конфигурацию SSL (по умолчанию /etc/httpd/conf. d/ssl.conf), убедитесь, что она выглядит примерно так:
Корень документа /var/www/html <Каталог /var/www/html> AllowOverride FileInfo Каталог>
По умолчанию для AllowOverride установлено значение «Нет», поэтому любой другой параметр (например, «Все»), добавляющий возможности FileInfo, допустим.
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride
2Возможно ли, что mod_rewrite не включен для сервера HTTPS или что .htaccess не используется?
Проверьте разрешения AllowOveride
, используемые для обычного сайта, и сравните с версией SSL, возможно, это несоответствие. Вероятно, ввели для повышения безопасности, если бы не случайность.
mod_rewrite
почти необходим, поэтому любой приличный хостинг-провайдер должен помочь разобраться с этим.
«работает над apache2 + ubuntu precision»
Подобная проблема возникла у меня, когда я использовал Slim framework и пытался удалить index. php, необходимый в URL-адресе. ReWrite отлично работал для http, но для https: он показывал, что URL не найден, что означало, что reWrite не работал.
После нескольких попыток я пришел к следующему решению:
cd /etc/apache2/sites-enabled sudo vim по умолчанию-ssl
Изменить AllowOverride Нет на Все . Точно так же sudo vim ssl
У меня была похожая проблема, это то, что сработало для меня.
В вашем httpd.conf убедитесь, что у вас есть оба:
ServerName domain.com
ServerAlias www.domain.com
.htaccess — перенаправление с http на https с помощью htaccess не работает
Задавать вопрос
спросил
Изменено 8 лет, 5 месяцев назад
Просмотрено 4к раз
# НАЧАТЬ WordPressindex\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Правило перезаписи. /index.php [Л] ЕслиМодуль> # ЗАВЕРШИТЬ WordPress 9(.*)$ https://%{HTTP_HOST}/$1 [L,R=301] Это правило не выполнено, так как не выполнено одно из условий RewriteCond %{REQUEST_FILENAME} !-f Эта переменная не поддерживается: %{REQUEST_FILENAME} RewriteCond %{REQUEST_FILENAME} !-d Эта переменная не поддерживается: %{REQUEST_FILENAME}
Мой htaccess fu в лучшем случае слаб, поэтому я не могу понять, как
RewriteEngine On
становится
RewriteCond %{HTTPS} =o
который комментируется
Это условие не было выполнено
или тот
RewriteCond %{REQUEST_FILENAME} !-d
получает комментарий
Эта переменная не поддерживается: %{REQUEST_FILENAME}
Может быть, я устал. Может быть, я просто глуп.
TIA
- .htaccess
Может быть, я устал.
(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Правило перезаписи. /index.php [Л] ЕслиМодуль>Любой из вас двоих может скопировать мой ответ, и я отмечу его как первый (в порядке очереди) и удалю его. Почитай тех, кто должен.
И уточнить — я больше тупил, чем устал. Тоже напрягся, так как мой сайт не работал.
Что приводит меня к предостережению , которое полезно знать. Есть какое-то странное кэширование на стороне клиента? это сделало тестирование стохастическим, если не сказать больше. В настоящее время перенаправление работает в Safari@OSX и Chromium@Win, но не в IE11@Win. Для меня. Я думаю, что это исправится завтра или когда я запущу другую машину. 9Обновление 0159: я немного поиграл. В офисе моего заказчика http->
https на корневом уровне работало, но не по статье в IE, а зависало. Но в Опере это было. На следующий день IE тоже работал. Дома мой IE сделал то же самое сальто, но на день быстрее.