IIS 伪静态规则问题

IIS 伪静态规则问题,第1张

网站无法搬到根目录下么,还是有其他原因,如果可以,建议直接搬过去,写规则,页面不一样,多的话麻烦,写漏了就404了,没那个条件就写伪静态吧,具体咋样的,得看你网站还有没有做其他设置,譬如已经做了一次伪静态了,有的程序就有,没有做过得话,直接public文件夹指向你得网址就可以了,其他网页网址如果带有public的,直接也可写函数替换掉,没处理好可以找额代弄,ok

wordpress的伪静态规则如下:

代码如下:

[ISAPI_Rewrite]

RewriteRule /post/tag/(.*) /index\.php\?tag=$1

RewriteRule /tag/(.*) /index\.php\?tag=$1

RewriteRule /(about|link|tags|sitemap) /index\.php\?pagename=$1

RewriteRule /post/category/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed\.php\?category_name=$1&feed=$2

RewriteRule /post/category/?(.*) /index\.php\?category_name=$1

RewriteRule /author/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed\.php\?author_name=$1&feed=$2

RewriteRule /author/?(.*) /index\.php\?author_name=$1

RewriteRule /feed /index\.php/\?feed=rss2

RewriteRule /rss.xml /index\.php/\?feed=rss2

RewriteRule /comments/feed /index\.php/\?feed=comments-rss2

RewriteRule /([0-9]+)/?([0-9]+)?/?$ /index\.php\?p=$1&page=$2

RewriteRule /post/([0-9]+)/?([0-9]+)?/?$ /index\.php\?p=$1&page=$2

RewriteRule /post/([0-9]+).html /index\.php\?p=$1 [I]

RewriteRule /page/(.*)/?s=(.*) /index\.php\?s=$2&paged=$1

RewriteRule /page/(.*) /index\.php\?paged=$1

RewriteRule /post/date/([0-9]{4})([0-9]{1,2})([0-9]{1,2})/([^/]+)/?([0-9]+)?/?$ /index\.php\?year=$1&monthnum=$2&day=$3&name=$4&page=$5

RewriteRule /post/date/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /index\.php\?year=$1&monthnum=$2&day=$3&page=$4

RewriteRule /post/date/([0-9]{4})/([0-9]{1,2})/?$ /index\.php\?year=$1&monthnum=$2&page=$3

RewriteRule /post/([0-9]+).html/(feed|rdf|rss|rss2|atom) /index\.php\?feed=rss2&p=$1

RewriteRule /post/([0-9]+).html/trackback /wp-trackback\.php\?p=$1

# For file-based wordpress content (i.e. theme), admin, etc.

RewriteRule /wp-(.*) /wp-$1 [L]

wordpress固定链接设置参数: 参数不多说,很死的东西,按照WordPress官方文档列表如下:

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服务器下才那样设置。

下面这个方法也是从网上找来的,希望和大家一起分享学习了,有什么好的方法一起多多交流了!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/97394.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-08
下一篇2023-03-08

发表评论

登录后才能评论

评论列表(0条)

    保存