虚拟主机URL重写问题
发布网友
发布时间:2022-04-10 18:15
我来回答
共4个回答
懂视网
时间:2022-04-10 22:36
Apache主机一般支持.htaccess伪静态,即可以实现绑定域名到子目录、一个空间多个站点。
应用举例:绑定www.qijingling.com到htaccess目录
根目录下.htaccess内容
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# 绑定www.qijingling.com到子目录htaccess
RewriteCond %{HTTP_HOST} ^www.qijingling.com$ [NC]
RewriteCond %{REQUEST_URI} !^/moban/
RewriteRule ^(.*)$ moban/$1 [L,QSA]
#可以绑定多个,只需重复上三行代码并更改一下域名、目录名就行了
</IfModule>
htaccess目录下的.htaccess内容
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#只许绑定的域名访问,其他域名301跳转
RewriteCond %{HTTP_HOST} !^www.qijingling.com$ [NC]
RewriteRule (.*) http://www.qijingling.com/$1 [L,R=301]
#对绑定目录下htaccess目录的处理
RewriteCond %{REQUEST_URI} ^/moban/ [NC]
RewriteCond %{QUERY_STRING} !^(.*)
#htaccess.800m.net/htaccess实际上访问www.qijingling.com/moban/htaccess
RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1 [L,QSA]
</IfModule>
当然,如果对绑定子目录的要求不高的话,子目录下就不需要建立.htaccess文件了。
虚拟主机.htaccess伪静态(URL重写)建立多站点
标签:.net iter module url重写 cond 目录名 ase 应用 write
热心网友
时间:2022-04-10 19:44
这个需要一个URLRewriter组件,需要到虚拟主机的IIS上配置的,
如果你对虚拟主机没有操作权限,
估计用不了。
在项目里面引用组件后紧接着配置WEB.CONFIG文件:
这<configSections> 节点:
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/
</configSections>
这<httpMoles> 节点:
<httpMoles>
<add type="URLRewriter.MoleRewriter, URLRewriter" name="MoleRewriter"/>
</httpMoles>
这<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配置重写真*简单:则配置IIS这步去掉,只需在Web.Config里面配置下即可。
这<system.webserver> 节点:
<system.webServer>
<moles>
<add type="URLRewriter.MoleRewriter, URLRewriter" name="MoleRewriter"/>
</moles>
</system.webServer>
热心网友
时间:2022-04-10 21:02
我觉得这个事情如果不在iis上操作的话,是不可能实现的。
另外我本身就是主机商,我是不会给客户提供这样的服务。因为加重了iis的负担。
也请你为主机上其他的用户着想。
热心网友
时间:2022-04-10 22:37
如果不在HttpMole中实现,
只能安装IIS插件了,
IIS我用的是Helicon ISAPI_Rewrite,
你这个可以在httpd.ini规则中这样写:
RewriteRule /(\d+)\.htm /show\.aspx\?id=$1 [N,I]
不过,要看你和虚拟主机提供商的关系如何了