在子目录中,HTACCESS文件中的CodeIgniter站点可能会干扰主目录中的HTACCESS文件



在我的Codeigniter网站(托管在GoDaddy)中,导航到任何页面,但索引给了我这个错误:

未指定输入文件。

谷歌搜索,似乎原因一定与我的.htaccess情况有关。设置此方法的方式,也许最终可能会改变,是我的CI站点位于主要域的子目录中。CI网站和主要域都有自己的.htaccess文件。CI HTACESS文件位于应用程序文件夹中:

<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>

最新更新