设置了虚拟主机后 URL重写模式怎么用(虚拟主机URL重写问题)
- 海外服务器
- 2024-01-16
- 1793
重写就是把传入 Web 请重定向到其他 URL 的过程。我们知道在Apache中有mod_rewrite来实现URL的重写功能(URL Rewrite),然而IIS并没有自带这个功能,因此我们就需要使用第三方组件来实现。
大家好,今天小编关注到一个比较有意思的话题,就是关于云虚拟主机重写的问题,于是小编就整理了3个相关介绍云虚拟主机重写的解答,让我们一起看看吧。
文章目录:
一、设置了虚拟主机后 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
%{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>
这<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信息服务-->
找到你共享的目录-->
右键点击属性 -->
点击'配置'-->
映射下面 -->
找到.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点解答对大家有用。
本文由主机中国官方于2024-01-16发表在主机中国,如有疑问,请联系我们。
本文链接:https://www.3dc66.com/haiwai/55732.html
发表评论