1、服务器必须支持URL重写。
2、后台开启伪静态。
3、栏目设置使用动态。
4。添加文档时选择使用动态浏览。
5。需要修改php文件include/channelunit.func.php
查找
return $GLOBALS["cfg_plus_dir"].”/view-”.$aid.’-1.html’;
修改为
return “/view-”.$aid.’-1.html’;
查找
return $GLOBALS['cfg_phpurl'].”/view.php?aid=$aid”;
修改为
return “/view.php?aid=$aid”;
其实不修改也可以,但是URL地址会长一点。这个是文章的。
查找
$reurl = $GLOBALS['cfg_phpurl'].”/list.php?tid=”.$typeid;
修改为
$reurl = “/list-”.$typeid.”.html”;
这个必须修改,是栏目页的。
6、需要在根目录下增加一个.htaccess文件(只适用于linux系统,并需要虚拟主机支持)。
添加如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^list-([0-9]+)\.html$ /plus/list.php?tid=$1
RewriteRule ^list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
RewriteRule ^view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1
RewriteRule ^view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2
</IfModule>
如果是FreeBSD服务器可使用以下规则(需要虚拟主机支持):
rewrite ^/list-([0-9]+).html$ /list.php?tid=$1;
rewrite ^/list-([0-9]+)-([0-9]+)-([0-9]+).html$ /list.php?tid=$1&totalresult=$2&PageNo=$3;
rewrite ^/view-([0-9]+)-1.html$ /view.php?arcID=$1;
rewrite ^/view-([0-9]+)-([0-9]+).html$ /view.php?aid=$1&pageno=$2;
dedecms搜索的伪静态在 .htaccess 文件里加入如下两句即可:
RewriteRule ^(.*)/search/([^/]*)$ $1/plus/search\.php\?keyword=$2
RewriteRule ^(.*)/search/([^/]*)/(\d)$ $1/plus/search\.php\?keyword=$2&PageNo=$3
如果以前添加过文章,需要批量把旧文章也改成伪静态,可使用以下两句SQL语句:
update dede_arctype set isdefault=-1;
update dede_archives set ismake=-1;
以上教程来源于网络,适用于dedecms V5.3-V5.6版,其它版本未测,如有疑问可与我联系:admin@arnol.org
伪静态
昨天人问我,看了我写的Wrodpress设置伪静态简明教程,可是还是设置不了伪静态,是什么原因。如果照我教程来做的话还设置不了伪静态,很明显是主机不支持伪静态了。
要解决的话,如果是买的空间,需要联系空间商添加伪静态支持。这些一般的空间都支持的,但他是自己的独立主机,用的windows系统,就要自己设置IIS支持Rewrite了。
首先需要下载IIS Rewrite
ISAPI Rewrite 3 lite 绿色版下载
ISAPI_Rewrite 2.13全功能版
Isapi-rewirte 1.3 绿色版
接着开始配置IIS Rewrite
1、将下载的 IIS Rewrite 组件解压,放到适当的目录(如 C:\Rewrite)下。

2、在“IIS管理器”里选择网站,右键,属性。

3、选择“ISAPI”,点击“添加”。

4、填入筛选器名称,如“rewrite”。

5、可执行文件下方点击“浏览”,选择刚才解压的Rewrite组件位置,Rewrite.dll。

6、确认选择正确后,点击“确定”。

7、点击“确定”,完成筛选器添加。

8、重启IIS。


9、重启IIS后,再次选择站点,右键,属性,看到如下所示向上的绿箭头,说明 IIS Rewrite 成功添加并运行。

最后设置httpd.ini 文件
以上步骤只是设置了IIS支持Rewrite而以,需要设置网站的伪静态,还要伪静态规则。解压后的 IIS Rewrite 组件目录(如 C:\Rewrite)中,有一个 httpd.ini 文件,将相应伪静态规则写入到这个文件中即可。
相关阅读:
Wrodpress设置伪静态简明教程
自动将Apache伪静态转换成Nginx伪静态
伪静态
IIS, Rewrite, 伪静态, 教程, 规则
Apache依然是PHP中的霸主,许多人过多的关注Apache而忽略了Nginx。
想必有些人把Apache换成了Nginx后,网站原来的伪静态便不能用了吧?其实这时候只要把Apache Rewrite伪静态规则转换为Nginx Rewrite就OK了。
国外有个网站,可以自动的将Apache Rewrite伪静态规则转换为Nginx Rewrite,网址:http://www.anilcetin.com/convert-apache-htaccess-to-nginx/
或者自己手动转换也可以,转换方法参考以下例子:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/([a-z]+)/p_([0-9]+)\.html$ /list\.php\?id=$1
</IfModule>
rewrite ^/([a-z]+)/p_([0-9]+)\.html$ /list.php?id=$1 last;
APACHE后则不能直接使用点和问号
RewriteRule 换为 rewrite
在每条规则后加上 last;
伪静态
Apache, Nginx, 伪静态
1、进入后台
2、设置
3、固定链接
4、自定义 /%year%_%monthnum%_%post_id%.html
首先我们看看wordpress官方列出的部分可以使用的固定链接基本参数:
%year%
基于文章发布年份,比如2009;
%monthnum%
基于文章发布月份,比如12;
%day%
基于文章发布当日,比如28;
%hour%
基于文章发布小时数,比如15;
%minute%
基于文章发布分钟数,比如43;
%second%
基于文章发布秒数,比如33;
%postname%
基于文章的postname,其值为撰写时指定的缩略名,不指定缩略名时是文章标题;
%post_id%
基于文章post_id,比如888;
%category%
基于文章分类,子分类会处理成“分类/子分类”这种形式;
%author%
基于文章作者名,如Arnol.
将上述参数进行组合,即可得到wordpress的固定链接形式。网上常见的几种设置方法:
1、/%year%/%monthnum%/%day%/%postname%/
2、/%year%/%monthnum%/%postname%/
3、/%year%/%monthnum%/%day%/%postname%.html
4、/%year%/%monthnum%/%postname%.html
5、/%category%/%postname%.html
6、/%post_id%.html
诸如此类,可以自由定义的。个人比较倾向于/%year%_%monthnum%_%post_id%.html这种形式,设置成功后伪静态为:http://arnol.org/2009_11_1.html
1、考虑到自己博客属单人维护,内容不可能很多,所以目录结构不宜过深,其实按照网上的说法,三层以内都是完全没问题的,可是一旦层数多了后,整个网站就变得比较松散了,网上似乎把这个叫黏合,所以我觉得上述第1、3种可以放弃,除非站点内容丰富,也通过tag之类的进行联合。
2、我个人是倾向于使用基于日期的,比如这种/%year%_%monthnum%_%post_id%.html生成的就是 http://arnol.org/2009_11_1.html,这样既显示了日期,而网页又在根目录,不会分成几层。
3、我没有用现在更容易被收录的/结构而是采用html为扩展名的形式,我的想法是一个网站不能总有目录结构没有html文件吧,全站都是目录结构了,觉得这样看上去不好看,所以还是按照传统的样式好了。
希望本教程能给一些新手带来帮助。
伪静态
SEO优化, 伪静态, 教程, 设置