Home >Backend Development >PHP Problem >How to remove index.php

How to remove index.php

藏色散人
藏色散人Original
2020-11-04 11:15:064404browse

去除index.php的方法:1、在apache中,编辑httpd.conf配置文件,并在框架根目录下新建htaccess;2、在nginx中,配置“$config['index_page'] = '';”,然后重启nginx即可。

How to remove index.php

推荐:《PHP视频教程

apache去掉index.php

  1.编辑conf/httpd.conf配置文件

  #LoadModule rewrite_module modules/mod_rewrite.so 把该行前的#去掉

  同时对应Directory下要配置 AllowOverride All

  2.在 CI 根目录下(即在index.php,system的同级目录下)新建立一个配置文件,命名为: .htaccess 内容如下:

 RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond $1 !^(index\\.php|robots\\.txt)
  RewriteRule ^(.*)$ index.php/$1
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(application|modules|plugins|system|themes) index.php/$1 [L]

  3.把system/application/config/config.php 中$config['index_page'] = "index.php";改为$config['index_page'] = "";

  4.重启apache

nginx去掉index.php

  1.编辑nginx.conf文件

vi /usr/local/xxxxx/nginx/conf/nginx.conf
  #nginx去掉index.php
  location / {
  rewrite ^/$ /index.php last;
  #防止某些文件夹被直接访问
  rewrite ^/(?!index\\.php|robots\\.txt|uploadedImages|resource|images|js|css|styles|static)(.*)$ /index.php/$1 last;
  }

  2.config/config.php下配置$config['index_page'] = '';

  3..重启nginx

  去掉默认的index方法,如图的URL配置如:

  config/routes.php,配置$route['catalogues/(:any)'] = "catalogues/index/$1";

  其中(:any)表示匹配所有除CI保留关键字外的内容,后面的$1为index传入的参数内容。

  多个参数采用多个(:any),如两个参数的为:$route['catalogues/(:any)/(:any)'] = "catalogues/index/$1/$2";

  注:route规则如果同一目录下精确配置要在模糊配置上面,否则不起作用,如:

  $route['catalogues/more'] = "catalogues/more";
  $route['catalogues/(:any)'] = "catalogues/index/$1";

  注意事项

  route规则如果同一目录下精确配置要在模糊配置上面,否则不起作用

  nginx服务器不需要.htaccess文件

The above is the detailed content of How to remove index.php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn