我也在Stackoverflow上问过这个问题,但我认为这将是一个更好的地方问。 我们在IIS7.5上有以下重写规则: <rule name="Anything else to the event handler" enabled="true" stopProcessing="true"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{PATH_INFO}" pattern="^.*(/index.cfm/).*$" negate="true" /> </conditions> <action type="Rewrite" url="/index.cfm/{R:1}" appendQueryString="true" logRewrittenUrl="true" /> </rule> 但是,它之后永远不会放入/ {R:1}。 它只是去/index.cfm。 我们需要实际获取引用variables,因为我们在ColdFusion(10)脚本中使用了这个引用variables。 我们想要一个url重写的例子: 来自: http://www.my-site.com/this.is.a.test/another.test : http://www.my-site.com/this.is.a.test/another.test 要: http://www.my-site.com/index.cfm/this.is.a.test/another.test : http://www.my-site.com/index.cfm/this.is.a.test/another.test 任何人有一个想法,为什么不会这样做? (快速注意:执行正确的URL时可能会发生ColdFusion错误,但我不认为这会导致重写问题) 请注意,当您在浏览器中尝试使用相同的function(禁用了规则)时,它确实有效 – 只是不使用重写规则。 使用重写规则,CF中的cgi.PATH_INFOvariables返回空string。 此外,IIS确实已经将日志中的URL重写为index.cfm / this.is.a.test / another.test,这很奇怪。 使用301redirect而不是重写使它工作得很好(没有改变任何有关规则,只有动作typesredirect)。 […]
我正在尝试在多个PHP版本(5.2,5.3,5.4和5.5)的devel计算机上configurationIIS8服务器,以testing脚本如何针对每个版本运行。 在服务器级别上,我成功创build了所有Handler映射,创build了所有指向相同物理path( c:\ www \ htdocs )的所有4个站点(每个站点都为一个PHP版本)。 现在我认为,对于每个站点,我将更改Handler映射顺序,使一个PHP版本为主。 但问题是这个设置保存在c:\ www \ htdocs中的 web.config文件中。 所以,而不是改变一个网站的PHP版本,它改变了所有网站。 TechNet文档的web.config读取没有太多帮助。 这甚至可以configuration?
我正在使用名为halogy的CMS构build了codeignitor,但无法弄清楚如何让它在IIS中正常工作。 我认为它与Apache的重写(在Apache上正常工作)和.htacess文件内容有关 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php/$1 [L] 希望有人可以将其转换为IIS的configuration文件,谢谢大家。
我有一个经典的ASP网站托pipe在IIS 7.5 – 使用经典的应用程序池pipe道。 我把我所有的.Net全球化设置设置为UTF-8编码。 但是,当我的站点输出韩文字符时,它直接从数据库中获取,这些字符在输出到Web请求时会被破坏。 为了让我的传统ASP站点和IIS 7.5能正确处理韩文字符,还需要做些什么? 这里是从数据库中拉出来的东西 – 似乎是正确地存储在teh db:크기변환_01 [3] .jpg但是这是它从服务器输出时的样子:???? _ 01 [3 ] .JPG
我怎样才能允许使用web.config访问所有的子目录? 我知道如何允许访问每个目录,但不是一次所有的子目录。
安装ColdFusion后,我得到“HTTP错误404.17 – 未find”与错误代码:0x80070032,当我打开我的pipe理员url,即http://127.0.0.1/CFIDE/administrator/index.cfm 。 我的IIS版本是7,ColdFusion 9更新9.01,Windows 7 64位。
我想远程pipe理我的Windows 8 Professional机器上的几台testing服务器上的IIS。 但是,这样做的选项似乎从IISpipe理器中丢失。 我的期望是在连接下面的区域应该有一些额外的button。 是否有一个额外的Windows组件,我需要安装?
好吧,所以我想出了一个很好的主意,运行带有重写规则的W2012 IIS8来为我做一些反向代理,不是因为它是最好的select,而是因为我不想另一个盒子解决另一个问题。 我设法让所有这些都非常漂亮地运行,有两个子目录链接到两个后端Linux服务器,所有的出站标记似乎都被重写了,就像应该一样。 直到我试图login,并意识到它跳过一些表单域。 在漫长的一夜之后,我设法find了什么触发了重写引擎不处理这种情况下的表单,而更多的是与连字符或下划线相关的属性。 我的Linux网站正在生产的forms包含该行 <form accept-charset="UTF-8" action="/login" … 当然包含一个hyphened属性。 所以,我着手弄明白这个: /test/default.htm <html> <a href="/ahrefpage.htm">This ahref has no dummy attribute</a> </br> <a dummy="x" href="/ahrefpage.htm">This ahref has a dummy attribute</a> </br> <a dum-my="x" href="/ahrefpage.htm">This ahref has a hyphen dummy attribute</a> </br> <a dum_my="x" href="/ahrefpage.htm">This ahref has an underscore dummy attribute</a> </br> </html> 用下面的web.config <?xml version="1.0" […]
我正在探索使用webdeploy部署到IIS 7时的自动备份。 确保pipe理服务已安装并在我的Web服务器angular色下运行后,我已升级到webdeploy v3,所有这些都是自动备份所必需的。 使用IISpipe理器中的configuration编辑器,我已经在SERVER级别上启用并“打开”了备份function。 这按预期发挥作用。 使用webdeploy进行站点或站点组件的任何部署都会创build该站点的完整备份。 我一直无法做的是创build应用程序级别的备份。 我的网站默认网站由多个应用程序(wcf webservices)组成,每个应用程序都驻留在自己的虚拟目录中。 我的每个应用程序都是单独部署的,因此我希望每个应用程序都有自己的备份,而不是每次部署应用程序时备份整个站点。 我已经修改了其中一个应用程序的configuration(web.config)以启用和开启备份。 使用webdeploy部署应用程序不会触发备份。 我已经尝试了层次结构内的各种设置组合(服务器启用/closures,站点启用/closures,应用程序启用/打开…..服务器启用/closures,站点启用/打开,应用程序启用/打开on …等),唯一有效的设置是将服务器设置为启用/打开,从而创build站点级备份。 有没有人成功执行比整个网站更精细的自动化备份? 如果是这样,在服务器/站点/应用程序级别层次上备份设置的神奇组合是什么?
我正在运行Apache Tomcat作为Windows Server 2012上唯一的HTTP服务器。 Tomcat已作为服务安装,并绑定到端口80. server.xml文件已将address="0.0.0.0"添加到连接器,并且Windows防火墙已针对所有端口80请求打开。 我的应用程序需要发送电子邮件警报给用户。 通过本地托pipe的SMTP服务(Apache James)进行直接交付一直是不可靠的。 为了确保这些电子邮件的发送,我select通过我们的主要电子邮件服务,微软的在线Office365服务来转发我的电子邮件。 要通过此服务进行中继,TLSencryption和其他安全措施是必要的。 正如你所想象的那样,微软的SMTP服务能够很好地发挥作用,但是我很难让其他基于Windows或者Java的服务正确地继续传输。 为了启用电子邮件传送,我安装了内置的Windows Server SMTP服务。 这个configuration一直很好,直到昨晚安装了最新一轮的Windows更新。 现在,我无法访问我的Tomcat服务器,并且端口80上的所有请求都不成功。 Tomcat日志显示: SEVERE: Error initializing endpoint java.lang.Exception: Socket bind failed: [730013] An attempt was made to access a socket in a way forbidden by its access permissions. at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:589) … 我的谷歌search导致了一些链接,暗示IIS套接字池是责任。 我已经尝试使用netsh http add iplisten 192.168.1.8为tomcat保留端口80,这允许Tomcat启动并在本地绑定。 我现在可以在本地机器上使用http://localhost/或http://127.0.0.1/来查看我的Tomcat站点。 但是,通过http://192.168.1.8/或通过任何networking连接访问仍然失败。 我无法find有关如何在Windows […]