На моем сайте CodeIgniter (размещенном на GoDaddy), переходя на любую страницу, но индекс дает мне эту ошибку:
Не указан входной файл.
Похоже, что причина должна быть связана с моей ситуацией .htaccess. Способ, которым это настроено, и, возможно, это может измениться, заключается в том, что мой сайт CI находится в подкаталоге основного домена. У каждого сайта CI и основного домена есть свои .htaccess файлы. Файл htacess CI находится в папке приложений:
<IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /SubDomain/index.php?$1 [L] </IfModule>
И вот главный файл htaccess находится на двух уровнях от CI, читая таким образом:
RewriteEngine on RewriteCond %{SERVER_PORT} 80 rewriterule ^(.*)$ https://www.MainDomain.org/$1 [r=301,nc]
Я боюсь, что эти два набора правил переписывания противоречат друг другу, и я действительно не знаю, что с этим делать. Я могу изменить файл htaccess и действительно хотел бы заставить их работать вместе в мире и гармонии. Также возможно, что это не имеет ничего общего с htaccess.
CI .htaccess
не должен находиться в папке приложения; он должен находиться в корне папки SubDomain
. например /public_html/SubDomain/.htaccess
Кроме того, в этом .htaccess
вам нужно установить RewriteBase
:
<IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine on RewriteBase /SubDomain RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?$1 [L] </IfModule>