Я хочу установить еще один скрипт рядом с Codeigniter
на моем сервере. Проблема заключается в том, что Codeigniter по умолчанию содержит .htaccess
файл, который получил следующий код, чтобы предотвратить прямой доступ к PHP файлов:Блочный прямой доступ ко всем файлам php, за исключением некоторых из них в codeigniter
# Hide all PHP files so none can be accessed by HTTP
RewriteRule (.*)\.php$ index.php/$1
Как я могу добавить некоторые исключения из этого кода ?! Если мой PHP-файл находится в другой папке, кроме папки, в которой находится .htaccess
, как мне это сделать?
Мой Весь код выглядит следующим образом:
# set it to +Indexes
Options -Indexes
Options SymLinksIfOwnerMatch
# Set the default file for indexes
DirectoryIndex index.php
<IfModule mod_rewrite.c>
# mod_rewrite rules
RewriteEngine on
# If the file is NOT the index.php file
RewriteCond %{REQUEST_FILENAME} !index.php
# Hide all PHP files so none can be accessed by HTTP
RewriteRule (.*)\.php$ index.php/$1
# If the file/dir is NOT real go to index
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
# If Mod_ewrite is NOT installed go to index.php
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
Что делать, если файлов больше? например, у меня есть 'index2.php', то я должен добавить строку для каждого из них ?! или я могу сделать это, поставив '|' рядом с каждым именем файла ?! – Afshin
Да, вы можете использовать OR conditios, используя '|' следующим образом: 'RewriteCond% {REQUEST_FILENAME}! (Index | index2) \. Php' – anubhava