在我的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>