我遇到了消息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不在根目录1中,但我不确定。
我的目录如下:
/ (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)
我只寻求这个答案,我很好奇,我想知道为什么这样做以及如何工作?
答案 0 :(得分:0)
请按照以下步骤操作:
转到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>