我们可以在没有htaccess文件的情况下使用CodeIgniter

时间:2016-05-04 14:39:34

标签: php .htaccess codeigniter

我是CodeIgniter的初学者,面临我的.htaccess文件的问题。是否有必要将.htaccess文件与CodeIgniter一起使用?

1 个答案:

答案 0 :(得分:1)

是的,您可以但如果您不使用nginx等特殊网络服务器,则无法从网址中删除index.php

如果您未在Apache网络服务器上使用.htaccess文件,您的网址将如下所示(实际上您可以通过httpd.conf将其删除,但不建议这样做) :

http://www.yourdomain.com/index.php/your-url

如果您更喜欢使用nginx,则应编辑nginx.conf文件,如下所示:

server {
        server_name domain.tld;

        root /your/codeigniter/folder;
        index index.html index.php;

        # set expiration of assets to MAX for caching
        location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
                expires max;
                log_not_found off;
        }

        location / {
                # Check if a file or directory index file exists, else route it to index.php.
                try_files $uri $uri/ /index.php;
        }

        location ~* \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                include fastcgi.conf;
        }
}

您应该在html {}

中的nginx.conf代码之间添加此内容

如果您更喜欢Apache + .htaccess并希望删除index.php内容,则应创建一个.htaccess文件,如下所示:

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

请查看Codeigniter URL Guide了解所有详细信息。我也同意@geggleto,.htaccess文件不仅仅是针对index.php的东西,你可以用htaccess做很多事情。