Подпапка .htacess не переопределяет родительские параметры .htacess - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть .htacess в корне моего домена, чтобы перенаправить весь трафик на index.php

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

#redirect http to https, remove www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

#remove index.php from link
RewriteRule ^index.php$ - [L] 

#redirect to index
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

</IfModule>

#remove direct access to all *.php except index.php
<Files *.php>
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Files>

<Files index.php>
    Order Allow,Deny
    Allow from all
</Files>

Все работает как положено, трафик перенаправляется, когда файлы существуют, показывают файл.

теперь у меня есть папка администратора / admin / с и index.php и api.php, я могу открыть / admin / и /admin/index.php, но /admin/api.php перенаправляет на /index.php

Я пытался поместить .htaccess в / admin / следующим образом:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine Off
RewriteEngine On

#redirect http to https, remove www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

</IfModule>

, но получил те же результаты./ admin / открывается, но /admin/api.php перенаправляет на индекс

1 Ответ

0 голосов
/ 03 февраля 2019

нашел проблему / решение.

, необходимый для добавления в .htaccess внутри / admin /

 <Files *>
    Order Allow,Deny
    Allow from all
</Files>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...