我在服务器上上传了codeigniter项目。从URL中移动index.php不起作用。我使用IP地址访问它。比如http://ip地址/
以下是我的htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
/etc/apache2/apache2.conf中
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
我尝试了在谷歌上找到的所有可能的解决方案。但不适合我。
答案 0 :(得分:1)
请按照以下步骤操作:
转到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>
答案 1 :(得分:0)
在httpd.conf中,编辑或删除“index.php”:
<IfModule dir_module>
DirectoryIndex index.php
</IfModule
然后在htaccess中添加:
选项 - 索引
答案 2 :(得分:0)
在.htaccess中添加以下代码。希望这项工作。
Options All -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
答案 3 :(得分:0)
按如下所示设置.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
然后打开/etc/httpd/conf/http.conf
文件,并在其中找到<Directory "/var/www/html">
,并将AllowOverride None
设置为AllowOverride All
。