Проблема htaccess с пустой строкой в URL ⇐ Php
-
Гость
Проблема htaccess с пустой строкой в URL
Я хочу, чтобы пользователи имели доступ только к домену.com или домену.com/. Все, что будет дальше, даже домен.com/index.php, должно перенаправляться на домен.com.
У меня есть этот .htaccess
RewriteBase / Перезаписать двигатель включен Параметры – Индексы RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTPS} =вкл. RewriteRule ^$ index.php [L] RewriteCond %{HTTPS} =вкл. RewriteRule ^([^/]+)$ 404.php?cp=$1 [L,QSA] Проблема в том, что параметр никогда не бывает пустым. Поэтому всегда вызывается 404.php. Если я захожу на домен.com, он перенаправляется на 404.php?cp=index.php. Если я удалю правило index.php, оно будет перенаправлено на 404.php?cp=index.php. Если я удалю файл и правило index.php, я получу ошибку сервера. Если я разрешаю index.php, он работает и перенаправляется на index.php, но это не то, что я хочу. Пользователи не должны иметь возможности вызывать index.php или любой файл или добавлять что-либо после домена, даже если в конечном итоге вызывается index.php. Итак, по сути, я хочу разрешить внутреннее перенаправление на index.php только в том случае, если оно было указано файлом htaccess, а не пользователем. Как я могу это исправить?
Я хочу, чтобы пользователи имели доступ только к домену.com или домену.com/. Все, что будет дальше, даже домен.com/index.php, должно перенаправляться на домен.com.
У меня есть этот .htaccess
RewriteBase / Перезаписать двигатель включен Параметры – Индексы RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTPS} =вкл. RewriteRule ^$ index.php [L] RewriteCond %{HTTPS} =вкл. RewriteRule ^([^/]+)$ 404.php?cp=$1 [L,QSA] Проблема в том, что параметр никогда не бывает пустым. Поэтому всегда вызывается 404.php. Если я захожу на домен.com, он перенаправляется на 404.php?cp=index.php. Если я удалю правило index.php, оно будет перенаправлено на 404.php?cp=index.php. Если я удалю файл и правило index.php, я получу ошибку сервера. Если я разрешаю index.php, он работает и перенаправляется на index.php, но это не то, что я хочу. Пользователи не должны иметь возможности вызывать index.php или любой файл или добавлять что-либо после домена, даже если в конечном итоге вызывается index.php. Итак, по сути, я хочу разрешить внутреннее перенаправление на index.php только в том случае, если оно было указано файлом htaccess, а не пользователем. Как я могу это исправить?
Мобильная версия