用tp5写的一个博客。宝塔环境
,apache支持.htaccess
.htaccess规则
===========
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
===========
nginx不支持.宝塔环境下,规则配置写在面版的 站点-》伪静态内容项,保存在 /wwwweb/server/panel/vhost/rewrite/xxxxxxxxx.conf文件
在配置文件中,宝塔自动用 include /wwwweb/server/panel/vhost/rewrite/xxxxxxxxx.conf; 插入
#配置文件
======原=============
server
{
listen 80;
server_name xxxxx;
index index.php index.html index.htm default.php default.htm default.html;
#下面这行指的是运行目录
root xxxx/xxxx/xxxxxxxx;
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#PHP-INFO-START PHP引用配置,可以注释或修改
include enable-php-72.conf;
#PHP-INFO-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
#这一行,TM就是面版中站点的伪静态配置文件
include /wwwweb/server/panel/vhost/rewrite/xxxxxxxxx.conf;
#REWRITE-END
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log off;
access_log /dev/null;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log off;
access_log /dev/null;
}
access_log /wwwweb/wwwlogs/xxxx.log;
error_log /wwwweb/wwwlogs/xxxxxxxt.error.log;
}
===========================
要使用所有资源文件(自己定义的图片样式JS)生效,需要删除插入后面的规则
======改=============
server
{
listen 80;
server_name xxxxx;
index index.php index.html index.htm default.php default.htm default.html;
#下面这行指的是运行目录
root xxxx/xxxx/xxxxxxxx;
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#PHP-INFO-START PHP引用配置,可以注释或修改
include enable-php-72.conf;
#PHP-INFO-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /wwwweb/server/panel/vhost/rewrite/xxxxxxxxx.conf;
#REWRITE-END
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
#XXXXXXX删掉部分xxxxxxxxxxxx
access_log /wwwweb/wwwlogs/xxxx.log;
error_log /wwwweb/wwwlogs/xxxxxxxt.error.log;
}
===========================
不删除一部分,二级目录中的规则会有一部分被重置.jpg .swf .js .css等文件不受伪静态规则影响
#最后的nginx伪静态设置为
======================
#伪静态规则tp5的通用nginx规则
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last;
}
}
#某个特定的二级目录规则
location /static/ {
expires 12h;
error_log off;
access_log /dev/null;
access_log /dev/null;
if (!-e $request_filename){
rewrite ^(.*)$ /static/index.php last;
}
}
=======================
弄清楚这套路,半天没有了。我差。其实做过一次,忘记摘录了。。。。希望下次再碰上时有个参考。