wordpress通过修改htaccess实现301重定向教程

2025-06-05 12:41:44

1、简单的301重定向示例1.1.示例一更改http://www.ba坡纠课柩iyakai.com/%year%/%monthnum%/%day%/%postname%/为http://www.baiyakai.com/%postname%.html重定向语句:RedirectMatch 301 ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$ /$4.htmlRedirectMatch 301 ^可以理解为语句正式开始,中间三个([0-9]+)可以理解为分别对应%year%/%monthnum%/%day%,(.*)可以理解为最后的文章名称或者ID,这四个变量分别可以赋予编号$1,$2,$3,$4。(.*)和$4.html之间的那个$可以理解为老网址和新网址之间的分割。我们要修改的,就是把地址中的日期全都不要了,只要第四部分的文章名,然后在文章名后面加上.html来实现伪静态也就是说,那三个([0-9]+)都不要了,只要(.*)部分,而(.*)对应于$4,所以现在的网址只写上$4.html就行了,也就是以前的(.*).html1.2.示例二/%post_id%修改为/%category%/%post_id%.html因为%post_id%肯定是数字,而上面说过,正则表达式中(\d+)对应任意数字,所以以前的网址可以写成/(\d+)而%category%是分类,肯定是字符,不管是汉子还是字母,正则表达式中(.+) 对应的是任意字符(包括汉字、英文字母等),所以新的网址可以写成/(.+)/(\d+).html在原网址中,%post_id%即(\d+)对应于$1,所以新网址为/(.+)/$1.html然后用$将新旧网址连接起来,写成301重定向语句,即为:RedirectMatch 301 ^/(\d+)$ /(.+)/$1.html

2、我是怎么修改的?我是从* /archives/123的形式改为*/article/$1.html的形式,语句如下:RedirectMatch 301 ^/archives/(\d+)$ /article/$1.html

3、该如何写自己的重定向语句首先:你要弄清楚自己的原网址每一部分是什么形式,数字?字符?然后分别用上面的正则表达式符号来对应,(.+) 对应的是任意字符(包括汉字、英文字母等),(\d+)对应的是任意数字(仅仅是阿拉伯数字)因为文章名称中可能含有字母,可能含有数字,所以要用(.*)来对应,(.*)表示任意的东西然后:将原网址每一部分分别对应,按照顺序,依次用$1/$2/$3/$4/$5来对应再然后:写出新网址,按照写原网址的规则来写,不再累赘最后:用$来连接新旧网址,写成301重定向语句(新网址中与原网址相同的部分要用符号来代替,用$1、$2、·····来代替)注意,$和后面的新网址之间有一个空格。而且,如果原网址最后有/的话,在$之前也必须有一个/

4、使用301重定向该注意什么?1、有个问题,wordpress的.htaccess文件被自动更改(自动还原)wordpress会自动修改.htaccess文件中# BEGIN Word霸烹钟爷Press和# END WordPress的内容,即使你并没有修改过固定连接。只要点击了“固定连接”,.htaccess文件中# BEGIN WordPress和# END WordPress之间的内容就会被更改,自动还原。这是wordpress的一个令人讨厌的问题。怎么解决呢?最好的解决方法是:把自己添加在.htaccess中的语句,写在# BEGIN WordPress和# END WordPress之外,比如我的:RedirectMatch 301 ^/archives/(\d+)$ /article/$1.htmlRedirectMatch 301 ^/(\d+)$ /article/$1.html# BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ – [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule># END WordPress

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢