ThinkPHP CI codeignitor 框架 apache 重写 url 隐藏index.php 服务器 报错:Object not found! 多是.htaccess隐藏index.ph

开启重写mod_rewrite.c   php

隐藏index.php

能够去掉URL地址里面的入口文件index.php,可是须要额外配置WEB服务器的重写规则。apache

Apache为例,须要在入口文件的同级添加.htaccess文件(官方默认自带了该文件),内容以下:bash

<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>

若是用的phpstudy,规则以下:服务器

<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] </IfModule>

接下来就可使用下面的URL地址访问了iview

http://tp5.com/index/index/index http://tp5.com/index/index/hello

若是你使用的apache版本使用上面的方式没法正常隐藏index.php,能够尝试使用下面的方式配置.htaccess文件:ui

<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] </IfModule>

若是是Nginx环境的话,能够在Nginx.conf中添加:spa

location / { // …..省略部分代码
    if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } }
相关文章
相关标签/搜索