存档

文章标签 ‘.htaccess’

Advanced Permalinks固定链接301重定向插件

Apr 15th Sun, 2012/JiaJieChan/分享/1,794 阅读/3 comments

在现在的互联网时代,认识Linux的人也很多,而用Linux空间+apache的人也相对比较多,那Linux操作系统+apache的好处就是伪静态非常的方便,只需在相应的目录下建立一个.htaccess文件即可实现伪静态。在目前主流的博客、论坛等程序上已经有很多程序都具备自动生成伪静态规则的功能了,也就是你只要建立了.htaccess文件并设置为777可写属性,接着在后台点击一下生成规则,新的规则就会自动写入.htaccess,实现伪静态。

今天要说的东西也和这方面有关的,就是WordPress的伪静态——固定链接。在WordPress上,修改固定链接规则是一件非常郁闷的事,第一对搜索引擎的收录,第二对访客出现的404问题。现在有了插件我们可以很方便的把旧规则的文章自动跳转到新规则的文章上。以前有一个叫 Dean’s Permalinks Migration  的插件,也能够实现上面的这些功能,但是在JiaJieChan发布文章的时候已经找不到这个插件了,WP官方插件下载也没有。所以就由Advanced Permalinks插件来替代。

下面就给大家介绍一下 Advanced Permalinks 这个插件,相关的插件介绍文章在百度上也有很多,但都是千篇一律,基本都是转载的,连个基础的教程都没有。由于最近需要更改文章规则,所以写一篇比较简单的 Advanced Permalinks 插件的使用教程

关于这两天 陈家杰's Blog 出现的404问题也就是这个原因导致的,现已解决。

 

2012.6.15  发现该插件与Feed冲突,开启插件后,Feed显示为空白。

出现这个问题的可以用下面的插件代替,

PermalinksMigration 1.0   ,1.0版本的插件很简单,开启后只需到设置里面设置一下旧的链接规则即可。

http://115.com/file/e79pu30r  #permalinks-m...wordpress.zip

 

设置步骤

1. 安装并激活插件,可以用FTP或在线安装等。

2.设置插件,这个插件的设置页就在固定链接页里面,进入到固定链接页就可以看到上面有几个选项。

Advanced Permalinks介绍

上面红色框从左到右分别是 默认(WP的固定连接) 、高级设置、文章ID转移、旧规则管理、BUG提交。这些都是我个人对插件翻译,方便大家理解。

说明:

  • 默认,这个每个人都应该会了
  • 高级设置,这里是对其他的一些地方修改相关的规则的 (对于新手来说不需要)
  • 文章ID转移,这里是对WP默认的规则“域名/?p=id”转移到目前的规则上,这里可以指定那些或所有ID,其实这个功能在WP上默认就已经有了,所有不需要设置。
  • 旧规则管理,这个是将旧的规则跳转到目前所用的规则上的。只需在这里填写旧的规则即可。

由于1-3点都不需要解释了,所以今天只讲最后一点——旧规则管理。

3.进入Migration(旧规则管理),也就是今天的重点。

Advanced Permalinks设置教程

上图所示的红色框就是JiaJieChan之前所使用的链接规则,旧规则管理的设置非常简单,就是输入需要进行301重定向的旧规格然后添加即可。

说明:

  • 这里使用WP的通用结构标签即可
  • 例如我以前的规则 /chenjiajieblog/2012/4/115.htm ,则这里使用 /chenjiajieblog/%year%/%monthnum%/%post_id%.htm ;(不含分号)
  • 例如我以前的规则 /diy/zhutiwenzhang.html ,则这里使用 /%category%/%postname%.html ;(不含分号)

 

固定链接的结构标签:

  • %year%     ;文章发表的年份,四位数,如 2004
  • %monthnum% ;月份,如 05
  • %day%  ;天,如 28
  • %hour%    ;小时,如 15
  • %minute%     ;分钟,如 43
  • %second%     ;秒,如 33
  • %postname%    ;文章标题的别名 (编辑文章/页面时的别名栏)
  • %post_id%    ;文章的唯一ID,如 423
  • %category%    ;分类的别名 (新建/编辑分类时的别名栏)。 有层级关系的类型在链接地址里就像有层级的目录。
  • %tag%      ;标签的别名(新建/编辑标签时的别名栏)。
  • %author%    ;作者的别名。

到这里对 Advanced Permalinks 的设置就已经完成了,去查看一下效果吧。

Advanced Permalinks插件下载地址:http://wordpress.org/extend/plugins/advanced-permalinks/

JiaJieChan原创文章,转载请出示版权信息。

Linux apache平台绑定子目录规则

Dec 7th Tue, 2010/JiaJieChan/折腾/1,406 阅读/没有评论
很多人都想利用一个空间建多个站,并且这些站以bbs、blog、3G来访问,这就需要到以下代码规则。
在根目录新建一个.htaccess的文件(注意不要加扩展名),将以下代码添加到文件里。

注意:下面的“^(www.)?”里面的东西不用改,最后的一条为绑定目录的主页,若要指定主页则在后面加上“/index.htm”,若只想绑定目录或多级子目录,主页规则按照IDC默认则只要输入目录名,前后不要加斜杠,例如“RewriteRule ^(/)?$ bbs/3g/ziyuan [L]”则为绑定“bbs”子目录下的“3g”下的“ziyuan”,如此类推。

 

温馨提醒,若要用在WP上只要在WP自动生成的固定连接代码“</IfModule>”上面加入即可,“RewriteEngine On”可以省略

 

RewriteEngine On
# 把 3g.jiajieit.net改为你要绑定的域名.
RewriteCond %{HTTP_HOST} ^(www.)?3g.jiajieit.net$
# 把 wap改为要绑定的目录.
RewriteCond %{REQUEST_URI} !^/wap/
# 不要改以下两行.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 把 bbs改为要绑定的目录.
RewriteRule ^(.*)$ /wap/$1
# 把 3g.jiajieit.net改为你要绑定的域名
# 把 wap 改为要绑定的目录.
# wap/ 后面是首页文件index.php, index.html……
RewriteCond %{HTTP_HOST} ^(www.)?3g.jiajieit.net$
RewriteRule ^(/)?$ wap [L]
分类: 折腾 标签: , , , , , ,