ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 伪静态配置 标签作用:配置程序伪静态后URL中将不再包含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> ~~~ #### 2、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\] ~~~ #### 2、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; } ~~~