>  기사  >  백엔드 개발  >  index.php를 제거하는 방법

index.php를 제거하는 방법

藏色散人
藏色散人원래의
2020-11-04 11:15:064337검색

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

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文件

위 내용은 index.php를 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.