使用ip地址访问时删除index.php

时间:2017-09-07 07:01:48

标签: php .htaccess codeigniter

我在服务器上上传了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>

我尝试了在谷歌上找到的所有可能的解决方案。但不适合我。

4 个答案:

答案 0 :(得分:1)

请按照以下步骤操作:

  1. 转到application / config / config.php: 将$config['index_page'] = 'index.php';替换为$config['index_page'] = '';$config['uri_protocol'] = 'REQUEST_URI';$config['uri_protocol'] = 'AUTO';

  2. 启用重写模式  sudo a2enmod rewrite 然后 service apache2 restart

  3. 如果您愿意,可以使用以下.htaccess文件。

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