php这两句伪静态正则代码什么意思

php这两句伪静态正则代码什么意思,第1张

mod_rewrite要求有followsymlinks,否则会显示500内部服务器错误。

IndexIgnore让指定file排除在显示列表之外,也就是忽略显示,也就是不显示,file可以是文件全名,或是shell样式的通配符。

RewriteCond

%{REQUEST_FILENAME}

!-f,这句话的意思是:

如果文件存在,就直接访问文件,不进行下面的RewriteRule.

%{REQUEST_FILENAME}

请求的文件名

!-f

不是文件或不存在

!-d

不是目录或不存在

[L]

这是最后一个匹配项,不再往下匹配

一、Apache环境下,使用 .htaccess规则开启伪静态

1、首要条件:加载Rewrite模块:

在conf目录下httpd.conf中找到

#LoadModule rewrite_module modules/mod_rewrite.so

这句,去掉前边的注释符号“#”,或添加这句。

允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”):

AllowOverride All

2、然后在程序根目录下,新建一个.htacess文件(复制以下代码)。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} -d [OR]

RewriteCond %{REQUEST_FILENAME} -l

RewriteRule . - [NC,L]

RewriteRule . index.php [NC,L]

3.修改config/config.php

define('WITH_REWRITE',true)//默认是false

二、Nginx平台开启伪静态:

1.修改 nginx.conf文件,添加如下代码:

if ($request_uri ~ (.+?\.php)(|/.+)$ ){

break

}

if (!-e $request_filename) {

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

}

一台服务器上有多个网站时,最好给指定的虚拟主机(vhost)单独添加代码,以免影响其它非ecstore站使用

2、修改config/config.php

define('WITH_REWRITE',true)//默认是false


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/61303.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-27
下一篇2023-02-27

发表评论

登录后才能评论

评论列表(0条)

    保存