在GodaddyMianFei赠送的Win空间上面配置IIS7.x伪静态

IIS William 3818浏览 0评论

在Godaddy MianFei赠送的Win空间上面安装WordPress好后,需要对网站的URL进行永久链接(伪静态)的配置,这样会更有利于搜索网站收录,也就是SEO。

因本站架设在Godaddy MianFei空间上(见新站起航:基于WordPress的AspxHtml),伪静态的配置不像Linux类的系统上那么好配置。
尝试了网上共享的方法,如添加httpd.ini、404错误法,这两个方法都不行。httpd.ini一般是IIS7以下(Godaddy MianFei赠送的Win空间上面是IIS7版本)的版本上配置的,还需要安装rewrite组件;404错误法是可以的,但是转换得不全,还有可能发生错误,并可能对搜索网站的收录有影响。最后,选用了修改web.config的方法,最终解决了问题。

解决的方法非常简单,保存以下内容到web.config然后上传到服务器就可以了。

<?xml version="1.0"?>
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
<rewrite>
<rules>
<clear/>
<rule name="chinese tag" stopProcessing="true">
<match url="/tag/(.*)"/>
<conditions logicalGrouping="MatchAll"/>
<action type="Rewrite" url="/index\.php\?tag={R:1}"/>
</rule>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="index.php"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

注意:以上的web.config内容,我加上了这两行代码:

<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>

这个是强制要求网站将详细500信息反馈到客户端用的(详细见在GodaddyMianFei赠送的Win空间上面配置IIS7.x让网站反馈500等详细错误信息),如果不需要可以将之删除。

另外附上httpd.ini的内容:

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP

# wordpress 伪静态规则
# For tag(中文标签以及标签翻页的规则)
RewriteRule /tag/(.*)/page/(\d+)$ /index\.php\?tag=$1&paged=$2
RewriteRule /tag/(.+)$ /index\.php\?tag=$1
# For category(中文分类以及分类翻页的规则)
RewriteRule /category/(.*)/page/(\d+)$ /index\.php\?category_name=$1&paged=$2
RewriteRule /category/(.*) /index\.php\?category_name=$1
# For sitemapxml
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /sitemap.html /sitemap.html [L]
RewriteRule /sitemap_baidu.xml /sitemap_baidu.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]

最后,如此情况下,怎能少了linux下的.htaccess配置文件内容:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

有了以上几份内容,不管WordPress安装什么系统,不管是IIS还是其它,只要服务支持伪静态,你就不用担心配置不对了。

转载请注明:AspxHtml学习分享网 » 在GodaddyMianFei赠送的Win空间上面配置IIS7.x伪静态

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址