我的消息有问题
no input file specified
。
我在 stackoverflow 的主题上发现解决此更改
RewriteRule ^(.*)$ index.php/$1 [L]
至 RewriteRule ^(.*)$ index.php?/$1 [L]
在index.php后添加问号
并且成功了。
一切看起来都像:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
但是为什么这有效呢?在
index.php
之后添加的问号实际上是什么意思?为什么这会让一切正常?
我一直在寻找并搜索所有此类主题的答案,但没有找到任何可以回答我的问题的内容。
我只发现它
probably
可以工作并且是需要的,因为index.php不在根目录中,但我对此不确定。
我的目录如下:
/ (root folder)
--->application (app folder of framework)
--->myDomain.dx.am (my domain folder)
-------->index.php
-------->.htaccess (htaccess here)
-------->other_files
...................
--->system (system folder of framework)
我只寻求这个答案,我很好奇,我想知道为什么它有效以及如何工作?
请执行以下步骤:
转到 application/config/config.php : 将
$config['index_page'] = 'index.php';
替换为 $config['index_page'] = '';
和
$config['uri_protocol'] = 'REQUEST_URI';
至 $config['uri_protocol'] = 'AUTO';
通过
启用重写模式
sudo a2enmod rewrite
然后
service apache2 restart
如果您愿意,您可以使用以下 .htaccess 文件。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>