用户登录

新用户注册

忘记密码?

关 闭

用户登录

帮助中心

虚拟主机伪静态的设置方法

2014-5-13 10:38:19

所谓伪静态就是通过一定的技术手段,将原先一条不存在的URL地址映射到已存在的文件上,其目的是实现动态网页内容的静态化,提高搜索引擎收录率。比如已知地址是:http://domain.com/product.aspx?category=cellphone&id=4,静态化后的URL为:http://domain.com/product/cellphone/4,方便用户阅读一目了然。下面就根据不同的主机环境,来讲解如何实现URL静态化 。

IIS 7.0以上服务器

微软IIS 7.0以上版本完全重写了IIS的内核结构,采用模块化的设计构架,URL重写也成为可选安装的模块之一。中国红网的全部虚拟主机都安装了URL重写模块,因此客户可以通过轻松的配置web.config文件来实现伪静态功能。

下面是实现第一段所述伪静态规则的web.config代码。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="已导入的规则 1">
                    <match url="product/([a-z]+)/([0-9]+)" ignoreCase="false" />
                    <action type="Rewrite" url="product.aspx?category={R:1}&amp;id={R:2}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

如果您的程序商没有提供支持IIS 7.0的伪静态代码,只有.htaccess规则代码,URL重写模块也可转化成对应的web.config文件。您只需把.htaccess文件上传到空间中,再提交有问必答由我们为您导入就可以了。

Apache服务器

Linux系统下的Apache服务器在伪静态设置方面比较简单。由于Apache的mod_rewrite模块默认就是开启的,所以站长只需在空间下上传正确的.htaccess配置文件即可。下面也给出实现上述伪静态功能的规则代码。

RewriteEngine on
RewriteRule product/([a-z]+)/([0-9]+) product.php?category=$1&id=$2

ASP.NET Routing

.NET框架从4.0版本起开始支持Routing功能,如果您的代码是ASP.NET编写的,则可以考虑使用这种静态化方式。这种方式的好处就是无需在服务器上做配置,并且伪静态的URL地址和整个代码是天然一体的,代码中可以自动生成静态化URL,避免了在.htaccess/web.config模式下,一旦修改了伪静态规则,还要修改代码中的静态化网址的麻烦。

关于如何用ASP.NET Routing的手段来实现静态化,请大家参考微软官方文章:http://msdn.microsoft.com/en-us/library/dd329551(v=vs.100).aspx

返回帮助中心

关注微信