1. %year% 基于文章发布年份,比如2007;
2. %monthnum% 基于文章发布月份,比如05;
3. %day% 基于文章发布当日,比如28;
4. %hour% 基于文章发布小时数,比如15;
5. %minute% 基于文章发布分钟数,比如43
6. %second% 基于文章发布秒数,比如33
7. %postname% 基于文章的postname,其值为撰写时指定的缩略名,不指定缩略名时是文章标题;
8. %post_id% 基于文章post_id,比如423;
9. %category% 基于文章分类,子分类会处理成“分类/子分类”这种形式;
10. %author% 基于文章作者名。
将上述参数进行组合,即可得到wordpress的固定链接形式。网上常见的几种设置方法:
/%year%/%monthnum%/%day%/%postname%/
/%year%/%monthnum%/%postname%/
/%year%/%monthnum%/%day%/%postname%.html
/%year%/%monthnum%/%postname%.html
/%category%/%postname%.html
/%category%/%post_id%
/%postname%.html
/%post_id%.html 我们一般使用这个方式比较好。
wp永久链接设置技巧:
一、不要让日期出现在wordpress固定链接里面
这基于两个方面的考虑。一是如果数字出现在固定链接里面,等于提醒搜索引擎,这是很旧的内容了,没必要再爬一遍了。另外一个原因是,假如你要修改文章的日期重新发布的话,链接地址就变了,也就是意味着你的反向链接,PR 等等都没有了。
二、不要让分类的链接出现在固定链接里面
这一点是很多人都会忽略的地方。让分类出现在固定链接里面有两个缺陷:一是一篇文章如果选择了多个分类的话,则会出现多个链接地址,这很容易造成因为重复内容而被搜索引擎惩罚;二是有可能会造成关键词堆砌而被搜索引擎惩罚。
三、链接不要过深
这一点经常看到。很多wordpress 用户的固定链接是年/月/日/分类名/文章名。这种过于深的固定链接对搜索引擎是非常不友好的。
四、不要让中文字符出现在固定链接里面
虽然现在的搜索引擎已经能识别URL地址里面的中文字符,但无论是从美观上,还是从wordpress 优化的角度来看,都是非常差的。
Win服务器下设置WordPress固定链接伪静态
只要主机支持自定义404页面,无需安装插件,就能让Win主机像Linux 那样,方便使用WordPress的固定链接为静态化地址格式。
设置固定链接(Permalink)伪静态步骤:
1. 将以上代码保存为 404.php,并上传至主机根目录。
2. 设置 404 自定义错误页为 404.php。
3.进入 WordPress 控制面板,设置(Options)- WordPress固定链接(Permalinks),选择固定链接格式。如果你觉得上面新建404页面太麻烦了!那我给你推荐一个插件吧!那就是 Permalinks Migration Plugin Permalinks Migration Plugin的主要原理是利用“301转向”来实现既不丢失原有的链接,同时又让读者和搜索引擎知道,你已经修改了固定链接的效果,让他们尽快更新链接。
也许自己好久没有写程序了,慢慢的什么都给退化了呢,我也有看见wordpress写有.htaccess这个文件,为什么不行呢?后来上网查了一下,原来我未开启伪静态的模块LoadModule rewrite_module,于是在 apache的配置文件httpd.conf开启了LoadModule rewrite_module,然后再设置固定链接的形式为/%post_id%.html,就可以打开了,自然高兴了,我本地的环境是win+php+apache的;当然为我们提供的服务商一般用的iis服务器的,解决办法是
首先你先问你空间商,你购买的空间支持不支持伪静态,一般购买的付费空间/虚拟主机都是支持的。如果支持的话,就创建一个httpd.ini文件,把下面代码保存到该文件中,上传到网站的根目录就可以了。然后,之后进入WP后台修改固定链接,比如修改为:%/tegory%/%post_id%.html,很简单吧。
复制代码
代码如下:
[ISAPI_Rewrite]
# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default.ida|root.exe|..).* . [F,I,O]
# 3600 = 1 hour</p><p>CacheClockRate 3600
RepeatLimit 32</p><p># Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through</p><p>RewriteRule /tag/(.*) /index.php?tag=$1
RewriteRule /software-files/(.*) /software-files/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
这个规则文件的写法是IIS6.0下最新的wordpress伪静态规则。一般win主机都是IIS6.0的web服务器 ,而不是Apache的,在IIS服务器下,像一些常见的wordpress博客、shopex网店系统等第三方知名第三方程序,伪静态的实现,自己只需要把网站的静态化规则文件命名为httpd.ini文件放在网站根目录就可以了,无须通过网站后台设置,那是在Linux系统下的Apache服务器下才那样设置。
下面这个方法也是从网上找来的,希望和大家一起分享学习了,有什么好的方法一起多多交流了!
安装isapi方式的rewrite组件或urlrewrite组件(web.config放规则):
01 <?xml version="1.0" encoding="UTF-8"?>
02<configuration>
03<system.webServer>
04<staticContent>
05<mimeMap fileExtension=".bat" mimeType="text/bath" />
06</staticContent>
07<rewrite>
08<rules>
09<rule name="home Index">
10<match url="^index.html$" ignoreCase="false" />
11<action type="Rewrite" url="index.php" appendQueryString="false"/>
12</rule>
13<rule name="page Index">
14<match url="^(.*)/index.html$" ignoreCase="false" />
15<action type="Rewrite" url="{R:1}/index.php"appendQueryString="false" />
16</rule>
17
18<rule name="page List">
19<match url="^(.*)page([0-9]+).html$" ignoreCase="false" />
20<action type="Rewrite" url="{R:1}/index.php?gid={R:2}"appendQueryString="false" />
21</rule>
22<rule name="list Page">
23<match url="^(.*)list-([0-9]+).html$" ignoreCase="false" />
24<action type="Rewrite" url="{R:1}/.php?PageNo={R:2}"appendQueryString="false" />
25</rule>
26<rule name="show Page">
27<match url="^(.*)show-aid([0-9]+).html$" ignoreCase="false" />
28<action type="Rewrite" url="{R:1}/show.php?uid={R:2}"appendQueryString="false" />
29</rule>
30
31</rules>
32</rewrite>
33</system.webServer>
34</configuration>
第一步:
点击处理程序映射
(1)添加托管处理程序:
路径:*
类型:System.Web.UI.PageHandlerFactory
名称:v2_jiuxian.com_1PageHandlerFactory-Integrated-4.0
(2)编辑脚本映射:
我环境是64位,为了以防万一,我32位和64都配置了
32位
路径:*.html
可执行文件:%windir%\http://Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
名称:v2_jiuxian.com_2PageHandlerFactory-ISAPI-4.0_32bit
64位:
路径:*.html
可执行文件:%windir%\http://Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
名称:v2_jiuxian.com_3PageHandlerFactory-ISAPI-4.0_64bit
(3)添加通配符脚本验证:
路径:*
可执行文件:%windir%\http://Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
名称:v2.jiuxian.com_4PageHandlerFactory-ISAPI-4.0_64bit
以上的4个添加其实是把aspx的主件应用拷贝了一份.将其aspx改成html,
操作完以上4个项后返回,点击模块
(1)添加托管模块
名称:RewriterModule
类型:HttpHandler.URLRewriter.RewriterModule, HttpHandler
以上类型是你iis拦截器dll的路径啊,如空间名.类名
网站无法搬到根目录下么,还是有其他原因,如果可以,建议直接搬过去,写规则,页面不一样,多的话麻烦,写漏了就404了,没那个条件就写伪静态吧,具体咋样的,得看你网站还有没有做其他设置,譬如已经做了一次伪静态了,有的程序就有,没有做过得话,直接public文件夹指向你得网址就可以了,其他网页网址如果带有public的,直接也可写函数替换掉,没处理好可以找额代弄,ok欢迎分享,转载请注明来源:夏雨云
评论列表(0条)