Редирект несуществующих страниц на index.php на https

Обсуждение любых вопросов связанных с файлами конфигурации .htaccess

Редирект несуществующих страниц на index.php на https

Сообщение Nica » Пн фев 29, 2016 10:52 am

Здравствуйте, я наверно неправильно сформулировала вопрос. Но не знаю как объяснить иначе. Подскажите как можно сделать так чтобы .htaccess отправлял на index.php не меняя урл- если в урл вводят всякую хрень(несуществующие адреса) например: https://www.имясайта.com/abrakadabra (абракадабра должна остаться но открыться должна не 404 ошибка а index.php)
Подскажите пожалуйста! :roll:
Nica
 
Сообщений: 1
Зарегистрирован: Пн фев 29, 2016 10:42 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Retrill » Ср мар 30, 2016 3:19 am

Попробуйте вот так:

Код: выделить все
<IfModule mod_rewrite.c>
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule .* /index.php [L]
</IfModule>
Retrill
 
Сообщений: 3
Зарегистрирован: Ср мар 30, 2016 3:06 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Retrill » Ср мар 30, 2016 3:57 am

Если протокол (http или https) в вашем случае имеет особое значение, то:
Код: выделить все
<IfModule mod_rewrite.c>
    #записываем протокол в переменную
    RewriteCond %{SERVER_PORT} ^443$
    RewriteRule ^(.*)$ - [env=proto:https]
   
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)$ - [env=proto:http]
</IfModule>

<IfModule mod_rewrite.c>
  #делаем подмену на тот же протокол, с которого был сделан запрос
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule .* %{ENV:proto}://%{SERVER_NAME}/index.php [L]
</IfModule>
Retrill
 
Сообщений: 3
Зарегистрирован: Ср мар 30, 2016 3:06 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0


Вернуться в Htaccess

Кто сейчас на форуме

Зарегистрированные пользователи: MailBot, YandexBot

cron