如何在 UBUNTU 中从 codeigniter 中删除 index.php

2022-08-30 22:32:55

我知道这个问题已经被问过了,我尝试了所有这些,但仍然无法从url中删除索引.php。这是我的详细信息

Ubuntu 12.10
PHP : 5.4.6
Mod_rewrite in on
CI verson: 2.1

.htacess 看起来像这样:

RewriteEngine On
RewriteBase /projectname

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]  

我也看了下面的链接,但没有运气。无法从基于 URL CI 的站点中删除索引.php

如何删除 codeigniter 路径中的“index.php”

我的“/etc/apache2/sites-available/default”看起来像这样:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None 
        </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

任何帮助赞赏!


答案 1

步骤 1 :

将其添加到 htaccess 文件中

<IfModule mod_rewrite.c>
  RewriteEngine On
  #RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [QSA,L]
</IfModule>

步骤 2 :

在代码标记器配置中删除索引.php

$config['base_url'] = ''; 
$config['index_page'] = '';

步骤 3 :

允许在 Apache 配置中覆盖 htaccess (Command)

sudo nano /etc/apache2/apache2.conf

并编辑文件并更改为

AllowOverride All

对于 www 文件夹

步骤 4 :

已启用 apache mod 重写(命令)

sudo a2enmod rewrite

步骤 5 :

重新启动 Apache (Command)

sudo /etc/init.d/apache2 restart

答案 2

更改中:application/config/config.php

$config['index_page'] = 'index.php';

自:

$config['index_page'] = '';

每次更改apache配置文件时进行apache重新加载是一个好主意。

sudo /etc/init.d/apache2 reload

艺术

sudo service apache2 reload

艺术

sudo /etc/init.d/httpd reload

(或任何适用于您的平台的等效命令)

对于它的价值,这是我的.htaccess

RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|static|robots\.txt|favicon\.ico|uploads|googlexxxxxxxx\.html|mobile.html)
RewriteRule ^(.*)$ index.php/$1 [L]

推荐