怎么去除URL地址中index.php文件-♚纪实阁付涛♚

怎么去除URL地址中index.php文件

PbootCMS内核框架采用单入口pathinfo方式,因此所有地址的访问默认都带有index.php,

要去除它很简单,只要开启伪静态即可,具体可参考手册中伪静态的说明:

1、IIS环境(IIS6的环境自行百度)

1)安装rewrite组件,如果使用空间一般空间商默认已经安装;

2)到后台配置参数中开启伪静态开关(老版本直接修改程序config/config.php文件url_type=2);

3)在站点目录建立web.config文件(老版本根目录下默认已有,去除后缀bak即可,新版本到rewrite目录下拷贝规则),手动建立的话规则如下:

<rewrite>

<rules>

<rule name="reIndex" stopProcessing="true">

<match url="^(.*)$" ignoreCase="true" />

<conditions logicalGrouping="MatchAll">

<add input="REQUEST_FILENAME" matchType="IsDirectory" negate="true" />

<add input="REQUEST_FILENAME" matchType="IsFile" negate="true" />

</conditions>

<action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />

</rule>

</rules>

</rewrite>

Apache环境

1)开启Apache重写模块,具体请百度,如果使用空间一般空间商默认已经开启;

2)到后台配置参数中开启伪静态开关(老版本直接修改程序config/config.php文件url_type=2);

3)在站点目录建立.htaccess文件(老版本根目录下默认已有,新版本到rewrite目录下拷贝规则),内容如下:

<IfModule mod_rewrite.c>

Options +FollowSymlinks

RewriteEngine On

RewriteCond %REQUEST_FILENAME !-d

RewriteCond %REQUEST_FILENAME !-f

#如果页面出现"No input file specified." 请注释第一条,启用第二条

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

#RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L]

</IfModule>

Nginx环境

1、到后台配置参数中开启伪静态(老版本直接修改程序config/config.php文件url_type=2);

2、在nginx虚拟主机location配置中添加规则,规则如下:

location / {

if (!-e $request_filename){

rewrite ^/(.*)$ /index.php/$1 last;

}

}

注意:Nginx中如果站点部署在二级目录,请对应修改重写规则, 如:二级目录为test则:rewrite ^/test/(.*)$ /test/index.php/$1 last;

nginx开启PHP及pathinfo支持的方法

在server内部添加如下内容:
location ~ \.php(.*)$ {

root D:/wwwroot; #你的网站目录

fastcgi_pass 127.0.0.1:9000; #php-cgi监听地址

fastcgi_index index.php; #默认页

fastcgi_split_path_info ^(.+\.php)(.*)$; #分离路径

fastcgi_param PATH_INFO $fastcgi_path_info; #添加PATH_INFO信息

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

include fastcgi_params;

}

本文由 ♚纪实阁付涛♚ 作者:付涛纪实阁 发表,其版权均为 ♚纪实阁付涛♚ 所有,文章内容系作者个人观点,不代表 ♚纪实阁付涛♚ 对观点赞同或支持。如需转载,请注明文章来源。
0

发表评论