Web.config和.htaccess都没有影响网站

时间:2013-08-30 15:27:19

标签: php asp.net .htaccess web-config iis-6

我正在为我从未工作过的网站设置一些重写。目标很简单,但由于某种原因,服务器似乎忽略了.htaccess文件和Web.config文件!我尝试了两种以防万一,但服务器运行的是Microsoft-IIS / 6.0,并且由PleskWin,ASP.NET和PHP / 5.2.17提供支持。该网站运行Wordpress,所有代码都是用PHP编写的。至少,Web.config文件应该破坏网站,但它绝对没有影响。这两个文件都位于根目录“httpdocs”中,该目录与index.php文件相同。

这是我的Web.config文件:

<system.webServer>
<rewrite>
  <rules>
    <rule name="Rewrite CI Index">
      <match url=".*" />
      <conditions>
        <add input="{REQUEST_FILENAME}" pattern="css|js|jpg|jpeg|png|gif|ico|htm|html|ttf|eot" negate="true" />
        <add input="{REQUEST_FILENAME}" pattern="admin.php" negate="true" />
        <add input="{REQUEST_FILENAME}" pattern="index.php" negate="true" />
      </conditions>
      <action type="Rewrite" url="index.php/{R:0}" />
    </rule>
  </rules>
</rewrite>
</system.webServer>

我的.htaccess(以防万一)

RewriteEngine On
RewriteRule ^google.html$ http://www.google.com/ [R=301]

1 个答案:

答案 0 :(得分:0)

我认为您的重定向无效,因为IIS 6.0中不支持system.webServer元素,因此不会使用您在该部分中指定的任何信息(请参阅此处:http://www.iis.net/configreference/system.webserver)。

如果要在IIS 6.0中执行重定向,则可能必须安装单独的ISAPI筛选器。这些问题有更多信息:

where to write URL rewrite rule in IIS 6
https://serverfault.com/questions/1408/how-can-i-rewrite-urls-ala-mod-rewrite-for-free-in-iis-6

此外,值得一提的是确保在IIS中为此站点设置Web应用程序。如果文件只是在没有创建应用程序的虚拟目录中,则不会使用ASP.NET来运行该网站。在重读你的问题时,看起来好像已经完成了,但我想我会提到它以防万一。有关如何操作的文档可以在这里找到:

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/1d1c9a73-b4c5-4cfb-ad69-b77fa2e17e19.mspx?mfr=true