当前位置:首页 > 海外服务器 > 正文

设置了虚拟主机后 URL重写模式怎么用(虚拟主机URL重写问题)

重写就是把传入 Web 请重定向到其他 URL 的过程。我们知道在Apache中有mod_rewrite来实现URL的重写功能(URL Rewrite),然而IIS并没有自带这个功能,因此我们就需要使用第三方组件来实现。

大家好,今天小编关注到一个比较有意思的话题,就是关于云虚拟主机重写的问题,于是小编就整理了3个相关介绍云虚拟主机重写的解答,让我们一起看看吧。

文章目录:

  1. 设置了虚拟主机后 URL重写模式怎么用
  2. 虚拟主机URL重写问题
  3. 如何看虚拟主机是否支持rewrite

一、设置了虚拟主机后 URL重写模式怎么用

URL

重写就是把传入

Web

请重定向到其他

URL

的过程。

我们知道在Apache中有mod_rewrite来实现URL的重写功能(URL

Rewrite),然而IIS并没有自带这个功能,因此我们就需要使用第三方组件来实现。其实目前有好几种IIS下的Rewirte组件,都是通过ISAPI筛选器来加载然后实现URL重写的。

用得比较广泛的一个是ISAPI

Rewrite,支持用户自定义httpd.ini文件,只要放在站点根目录下就能生效。这个大大方便了用户自己修改URL重写规则。

ISAPI

Rewrite是一个基于正则表达式的强大的URL处理引擎,他使用起来基本上就像Apache的mod_rewrite,但是他是专门为微软的Internet

Information

Server

(IIS)设计的。

对于集思虚拟主机用户,如果需要使用URL

Rewrite的功能,只需要在网站根目录中建立httpd.ini的文件,httpd.ini就是一个文本文件,里面包含了URL

Rewrite的URL

Rewrite规则,常规格式如下:

[ISAPI_Rewrite]

RewriteRule

^/(.*)

/default.php

举例说明:下面是ASP网站深圳虚拟主机伪静态设置方法部分的httpd.ini规则,有需要的可以参考。

#3600

=

1

hour

CacheClockRate

3600

RepeatLimit

32

RewriteCond

设置了虚拟主机后 URL重写模式怎么用(虚拟主机URL重写问题)  第1张

%{HTTP:Host}

^by7188\.com$

RewriteRule(.*)http\://www\.by7188\.com$1

[NC,R=301]

RewriteRule^/index\.html$

/index\.asp

RewriteRule

^/news_([0-9]*)\.html$

/news\.asp\?id=$1

RewriteRule

^/zixun_p([0-9]*)_s([0-9]*)_k(.*)\.html$/news\.asp\?page=$1&sortid=&2&key_search=$3

网站301重定向有不少方法,小编觉着还是这种方式最简单,在网上看到一种加代码的方法也很简单,不过,小编用加代码的方法后,带www和不带www的状态都变成301了,不是很清楚什么原因,小编没用这个方法,就没再研究。另外,经测试深圳虚拟主机伪静态配置不分语言(asp/php/.net),只分系统windows和apache

二、虚拟主机URL重写问题

这个需要一个URLRewriter组件,需要到虚拟主机的IIS上配置的,

如果你对虚拟主机没有操作权限,

估计用不了。

在项目里面引用组件后紧接着配置WEB.CONFIG文件:

这<configSections> 节点:

<configSections>

<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/

</configSections>

这<httpModules> 节点:

<httpModules>

<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>

</httpModules>

设置了虚拟主机后 URL重写模式怎么用(虚拟主机URL重写问题)  第2张

这<system.web> 节点:

<system.web>

<httpHandlers>

<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

</httpHandlers>

<compilation debug="true"/>

</system.web>

另外配置重写路由:

<!-- Rules for Displayer 举个例子,注意紧是个例子,因为很常用。-->

<RewriterConfig>

<Rules>

<RewriterRule>

<LookFor>~/(\d+)</LookFor> //如果是数字( 正则 )

<SendTo>~/list_shop.aspx?shopid=$1</SendTo> //就像list_shop.aspx传一个ShopId的参数。

</RewriterRule>

</Rules>

</RewriterConfig>

紧接这配置IIS6.0:

右键点我的电脑-->

管理-->

展开'服务和应用程序'-->

internet信息服务-->

找到你共享的目录-->

设置了虚拟主机后 URL重写模式怎么用(虚拟主机URL重写问题)  第3张

右键点击属性 -->

点击'配置'-->

映射下面 -->

找到.aspx的可执行文件路径

复制路径-->

粘贴路径-->

然后把检查文件是否存在的勾去掉这样就可以了。

如果IIS是7.0配置重写真TMD简单:则配置IIS这步去掉,只需在Web.Config里面配置下即可。

这<system.webserver> 节点:

<system.webServer>

<modules>

<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>

</modules>

</system.webServer>

三、如何看虚拟主机是否支持rewrite

如何判断服务器是否支持重写模式?

如果服务器满足以下两个条件,它将支持重写伪静态规则:1..重写目录2的许可。2上web服务扩展中的isapi扩展状态。IIS被设置为允许。

apache怎么配置css,js,jpg指定到根目录上一级的目录?

说真的,apache在配置方面还真不如nginx、uhttpd、lighttpd等轻量级web服务器来得方便快捷。

如果你想实现你所说的功能,那么有一个办法:首先,使用alias创建一个非不是名为static目录的其它专用虚拟目录,比如:my_static然后启用apache的rewrite功能(URL重写)将凡是指向static目录的、css/js/gif/jpg/jpeg/txt等纯静态请求,隐式指向到my_static目录下。如果你不懂得如何写rewrite规则,可以追问一下,我给你写一下,如果你懂得,我就不麻烦了,呵呵,偷个懒。

我的域名怎么自动跳转到其他的页面上?

打开域名A自动跳转到域名B,可以采用网站301跳转的方式:1、IIS下直接301设置Internet信息服务管理器->虚拟目录->重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。这个需要服务器直接操作,很多空间商不会给做。2、介于空间管理程序和方法各不相同,例如之后的WEB操作管理有可能导致301间接失效所以如果不是自己独立服务器不建议直接操作。条条大路通罗马看下:3、采用isapi-rewirte组件的伪静态完全独立,可以直接在原伪静态规则文件httpd.ini加上301跳转代码立即生效【详解:利用ISAPIRewrite做301永久重定向】CacheClockRate3600RepeatLimit32RewriteEngineOnRewriteCondHost:^boaer.com$RewriteRule(.*)http://www.boaer.com$14、注:----URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。CacheClockRate3600RepeatLimit32RewriteEngineOnRewriteCondHost:^boaer.com$RewriteRule(.*)http://www.boaer.com$1注:----URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。

到此,以上就是小编对于云虚拟主机重写的问题就介绍到这了,希望介绍关于云虚拟主机重写的3点解答对大家有用。

发表评论

最新文章

取消
扫码支持 支付码