当前位置:首页 > 技术 > 正文内容

Destoon7.0网站搬家Apache转换Nginx伪静态遇到的问题备忘录

娜莎兰1年前 (2023-02-08)技术598

2023年2月7日晚,几个Destoon网站在Windows 2008 Server 上由于Apache占用资源太多,网站打开不理想,所以重装了CentOS7系统,使用轻量级的nginx+宝塔,由于在Windows系统中修改过.htaccess中的伪静态规则,搬家到CenOS系统上,网站详情页都打不开,全部404。


第一个网站的.htaccess 伪静态规则使用宝塔的Apache转Nginx后,仍然是404,测试Destoon官方的.htaccess、以及网上许多nginx的规则还是不行。第二天起床后查看伪静态规则,问题出在以下规则上:

RewriteRule ^(.*)/show-([0-9]+)([\-])?([0-9]+)?\.html$ $1/show.php?itemid=$2&page=$4  #这是destoon官方的

RewriteRule ^(.*)/     ([0-9]+)([\-])?([0-9]+)?\.html$ $1/show.php?itemid=$2&page=$4  #这是之前Apache的,就是这行出的问题。

   rewrite ^/(.*)/show-([0-9]+)([-])?([0-9]+)?.html$ /$1/show.php?itemid=$2&page=$4 last;  #这是https://www.laike.net/article-15-71774-0.html 这个网站上的,已测此伪静态规则在刚刚安装的destoon程序中可用。

将该网站上的nginx伪静态规则去除”show-“这几个字符后,网页可以正常打开了。


第二个网站,记得多年前弄伪静态规则的时候,第二个和第一个的伪静态规则是一模一样的,可能记不清楚了,于是将两个伪静态规则对照查看,确实一模一样,将第一个正常的贴入第二个网站,内页却打不开,又404了。查看网址,两个网站的网址并不一样。

第一个是这样的:http://www.***.com/info/12345.html

第二个是这样的:http://www.***.com/view-12345.html


于是将第二个网站之前Apache的伪静态规则贴入宝塔的Apache转Nginx,将转换后的规则放入第二个网站,网页正常打开了。


第三个DT,.htaccess伪静态规则是DT默认的,没有修改过。完整贴入上面所说某网站的nginx规则,网页正常打开。


娜莎兰-李凌云-记之以备忘。归纳:不同问题要不同对待!


附:

以下是上面所说某网站的nginx规则,该规则在初始安装DT后一切正常。

rewrite ^/(.*).(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php last;

rewrite ^/(.*)/file/(.*).php(.*)$ /404.php last;

rewrite ^/(.*)-htm-(.*)$ /$1.php?$2 last;

rewrite ^/(.*)/show-([0-9]+)([-])?([0-9]+)?.html$ /$1/show.php?itemid=$2&page=$4 last;

rewrite ^/(.*)/list-([0-9]+)([-])?([0-9]+)?.html$ /$1/list.php?catid=$2&page=$4 last;

rewrite ^/(.*)/show/([0-9]+)/([0-9]+)?([/])?$ /$1/show.php?itemid=$2&page=$3 last;

rewrite ^/(.*)/list/([0-9]+)/([0-9]+)?([/])?$ /$1/list.php?catid=$2&page=$3 last;

rewrite ^/(.*)/([A-za-z0-9_-]+)-c([0-9]+)-([0-9]+).html$ /$1/list.php?catid=$3&page=$4 last;

rewrite ^(.*)/([a-z]+)/(.*).shtml$ $1/$2/index.php?rewrite=$3 last;

rewrite ^/(com)/([a-z0-9_-]+)/([a-z]+)/(.*).html$ /index.php?homepage=$2&file=$3&rewrite=$4 last;

rewrite ^/(com)/([a-z0-9_-]+)/([a-z]+)([/])?$ /index.php?homepage=$2&file=$3 last;

rewrite ^/(com)/([a-z0-9_-]+)([/])?$ /index.php?homepage=$2 last;


以下是国外某Apache转Nginx网站转换后的结果,网站地址(https://winginx.com/en/htaccess)经测试,这个规则才是正确的,第一个网站使用以上红色代码后,虽然网页能打开,但后台文本编辑器不能上传图片,随html粘贴的图片显示图片缺失,帖子缩略图图片也不能正确显示。以下规则使用正常,暂时没有检测到bug:

# nginx configuration by winginx.com error_page 404 /404.php; location / {  rewrite ^/(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php;  rewrite ^/(.*)-htm-(.*)$ /$1.php?$2;  rewrite ^/(.*)/show-([0-9]+)([\-])?([0-9]+)?\.html$ /$1/show.php?itemid=$2&page=$4;  rewrite ^/(.*)/list-([0-9]+)([\-])?([0-9]+)?\.html$ /$1/list.php?catid=$2&page=$4;  rewrite ^/(.*)/([A-za-z0-9_\-]+)-c([0-9]+)-([0-9]+)\.html$ /$1/list.php?catid=$3&catdir=$2&page=$4;  rewrite ^/(.*)/show/([0-9]+)/([0-9]+)?([/])?$ /$1/show.php?itemid=$2&page=$3;  rewrite ^/(.*)/list/([0-9]+)/([0-9]+)?([/])?$ /$1/list.php?catid=$2&page=$3;  rewrite ^/(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /$1/index.php?moduleid=$2&catid=$3&itemid=$4&page=$5;  rewrite ^/(.*)/([a-z]+)/(.*)\.shtml$ /$1/$2/index.php?rewrite=$3; } location /admin {  rewrite ^(.*)$ /404.php; } location /cache {  rewrite ^(.*)$ /404.php; } location /file {  rewrite ^(.*)$ /404.php; } location /include {  rewrite ^(.*)$ /404.php; } location /lang {  rewrite ^(.*)$ /404.php; } location /module {  rewrite ^(.*)$ /404.php; } location /skin {  rewrite ^(.*)$ /404.php; } location /template {  rewrite ^(.*)$ /404.php; } location /com {  rewrite ^/(com)/([a-z0-9_\-]+)/([a-z]+)/(.*)\.html$ /index.php?homepage=$2&file=$3&rewrite=$4;  rewrite ^/(com)/([a-z0-9_\-]+)/([a-z]+)([/])?$ /index.php?homepage=$2&file=$3;  rewrite ^/(com)/([a-z0-9_\-]+)([/])?$ /index.php?homepage=$2; }


“Destoon7.0网站搬家Apache转换Nginx伪静态遇到的问题备忘录” 的相关文章

xiunobbs修罗BBS后台插件进不去的解决方案

xiunobbs修罗BBS关闭后后台插件进不去的解决方案因为众所周知的原因xiuno官方服务器已经关闭,导致整个插件管理页面都打不开。但是修罗轻社区,轻论坛,xiuno确实是其中的佼佼者,大家如果搭建,可以试试离线插件。解决方案:打开根目录/model/plugin.func.php 然后在第74行...

z-blog 底部版权修改路径

z-blog 底部版权修改路径 zb_users/theme/tupre/template找到footer.php,修改即可。...

床车改装磷酸铁锂副电瓶最佳简单改装方案备忘录

通过网络多次查询专家和实际改装爱好者的各种方案,得出最佳方法,电器设备安装简单,不占空间,备忘如下:采用遥控直流继电器(专家说购买12V300安的,搜索淘宝未找到,有待继续探讨)+稳压恒流充电器,以上两个设备安装在发动机舱,使用普通平方电线,给备用电瓶充电,使用磷酸铁锂的话,可将稳压恒流充电器的充电...

完美修复destoon后台管理员无法登录、提示数据库错误

完美修复destoon后台管理员无法登录、提示数据库错误

destoon管理员登录后台提示数据库错误的解决方法:destoon管理员登录提示以下数据库错误:MySQL Query ErrorDuplicate entry '285955' for key 'PRIMARY' MySQL Errno:0打不开destoon后台...

zblog后台登录错误 ERR_TUNNEL_CONNECTION_FAILED

重置你的TCP/IP和DNS配置1) 以管理员的方式运行命令行工具cmd.exe;2) 分别执行以下各行命令,以回车结束:ipconfig /flushdnsnbtstat –rnetsh int ip resetnetsh winsock reset重启计算机,故障解决...

设置Android手机端Hosts方法

一日需要在本地调试手机端网站,查看了几部Android手机,系统均无hosts文件,亦无etc文件夹。于是在系统中创建文件夹etc。在windows7上复制hosts文件到桌面,使用Notepad++打开这个hosts文件,依次点击视图-->显示符号-->显示行尾符,我们可以发现每行都是...