zblogPHP伪静态网站如果放在主域名二级目录下,主页能正常打开,内页打不开的情况通常是二级目录也要做伪静态设置,仅主网站做伪静态设置是远远不够的。

设置方法如下(web服务器为Nginx,宝塔面板对应网站设置中的伪静态):

#--------------------------------------
# 将下列“子目录名”改为实际的二级目录名
#--------------------------------------
location /子目录名/ {
  if (-f $request_filename/index.html) {
    rewrite (.*) $1/index.html break;
  }
  if (-f $request_filename/index.php) {
    rewrite (.*) $1/index.php;
  }
  if (!-f $request_filename) {
    rewrite (.*) /子目录名/index.php;
  }
}
# 解决子目录名Url结尾不加/时无法正常打开的问题
location /子目录名 {
  try_files $uri $uri/ /子目录名/index.html;
}
#--------------------------------------
# 根目录规则
#--------------------------------------
location / {
  if (-f $request_filename/index.html) {
    rewrite (.*) $1/index.html break;
  }
  if (-f $request_filename/index.php) {
    rewrite (.*) $1/index.php;
  }
  if (!-f $request_filename) {
    rewrite (.*) /index.php;
  }
}

注:二级目录伪静态设置必须放在根目录规则之前

二级目录网站伪静态配置

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。