多种伪静态技巧 建站心得

已认证 已通过实名认证 xiuno
管理员
官方成员
2021-11-26 825

ftp进入conf目录

下载conf.php文件

使用notepad++打开,所有支持utf8的编辑器都可以。

 

需要编辑 conf/conf.php

1. 编辑 'url_rewrite_on'=>1,

xiuno 支持 4 种格式伪静态:

0:?user-login.html

1:user-login.html

2:/user/login.html

3:/user/login

 

0 和1 格式支持二级目录,需要修改 conf/conf.php 如下

'path' => './','cookie_path' => '',

2 和 3 格式不支持二级目录,需要修改 conf/conf.php 如下

'path' => '/','cookie_path' => '/',

保存conf.php,然后上传覆盖原文件。

 

2. 清空 tmp 目录里面的文件;

3.设置伪静态规则,重启服务,进入后台清空缓存。

 

Nginx:

打开 nginx 配置文件 /usr/local/nginx/conf/nginx.conf 找到对应的虚拟主机配置处,追加加粗行:

 

 

url_rewrite_on 为 1 格式 user-login.html 伪静态规则:

location / {

    if (!-e $request_filename) {

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

    }

}

 

url_rewrite_on 为 2格式 /user/login.html 或 3 格式 /user/login/

目录化伪静态 Nginx 伪静态规则,其他环境请自行修改:

location / {

    if (!-e $request_filename) {

      rewrite ^((.*)/) /index.php last;

    }

}

 

如果 filename 存在,则为真 [ -e /var/log/syslog ]-d filename
如果 filename 为目录,则为真 [ -d /tmp/mydir ]-f filename
如果 filename 为常规文件,则为真 [ -f /usr/bin/grep ]-L filename

 

下面这个伪静态同时支持htm和html后缀

location / {

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

    try_files $uri $uri/ /index.html;

}

 

然后重新启动 nginx: service nginx restart

 

Apache: 

vim /etc/httpd/conf/httpd.conf

<Directory d:/xiuno.com>

    Options FollowSymLinks ExecCGI Indexes

    AllowOverride all

    Order deny,allow

    Allow from all

    Satisfy all

 

NameVirtualHost *:80

 

Apache .htaccess 网友分享伪静态 2 和 3 规则,自行测试修改

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.+) index.php?rewrite=$1 [L]
</IfModule>

 

Apache .htaccess 伪静态 1 规则

如果Appache 支持 .htaccess,那么可以编辑 .htaccess 文件放置于根目录下:

 

RewriteEngine on

 

# Apache 2.4

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.*?)([^/]*)$ $1index.php?$2 [QSA,PT,L]

 

# Apache other

#RewriteRule ^(.*?)([^/]*)\.html(.*)$ $1/index.php?$2.html$3 [L]

 

 

Apache httpd.conf

如果将规则直接放入 httpd.conf 则需要在前面加 / ,看来 Apache 也反人类:

 

RewriteEngine on

RewriteRule ^(.*?)([^/]*)\.html(.*)$ $1/index.php?$2.html$3 [L]

 

 

 SAE环境,根目录建立 config.yaml 文件:

appname: xiuno
version: 1
handle:
- rewrite: if ( !is_dir() && !is_file() && path ~ "admin/(.*.html)" ) goto "admin/index.php?%1"

- rewrite: if ( !is_dir() && !is_file() && path ~ "[^/?].html" ) goto "index.php?%1"


最后于 2021-12-4 被xiuno编辑 ,原因:

未登录提示:


关闭
他们喜欢这个资源
  • 15877404804
  • 失落的神殿
  • 流连忘返
  • moro
  • 天无神话
  • aa123
  • 柠七
  • 顺其自然
  • qiange2018
  • 龙杏苔
  • R
  • 奋进
  • 7927642
最新回复 (2)
  • 已通过实名认证 netxfire
    白银
    2
    很好,不错
    2021-11-27 回复
  • 已通过实名认证 xc
    黄金
    3
    啥也不说了,感谢xiuno顶尖网的分享!
    2021-12-4 回复
    • Xiuno顶尖网
      4
        登陆 注册
  • 7927642
    4
     点击可以快捷回复 感谢 支持 不错 无奈 一般 生气 回帖 路过 顶帖
    表情
在线客服

特别说明

QQ客服仅提供有偿服务,如无付费意愿,请勿扰!一般问题请站内发帖咨询!
服务项目:
1,xiuno插件模板定制开发
2,xiuno网站BUG修复
3,xiuno个性化定制
4,xiuno仿站等

客服工作时间:8:00~22:00
在线客服