【问题标题】:asp.net does not recognize index.php as index pageasp.net 无法将 index.php 识别为索引页面
【发布时间】:2012-11-06 16:32:39
【问题描述】:

网站使用asp.net框架。

问题是我有一个带有index.php 作为索引页的文件夹。仅当我将路径指定为 /folder/index.php 时才会加载,但如果我仅使用 /folder,则会引发 403 禁止。 (/folder 在文件夹中有 index.html 时有效)

如何解决?我对 asp.net 一点经验都没有,如果可能的话,我不想弄乱任何现有的配置文件。

注意:PHP 页面可以正常加载。问题是 asp.net 没有将 index.php 页面识别为索引页面。

解决方案: 我按照 EdSF 的建议在该文件夹中创建了一个 web.config 文件,其中包含以下配置

<configuration>
   <system.webServer>
    <defaultDocument>
        <files>
            <add value="index.php" />
        </files>
    </defaultDocument>
   </system.webServer>
</configuration>

【问题讨论】:

  • 首先,是什么让您认为ASP.Net(运行时)应该理解php?它是 IIS,而不是 ASP.Net 运行时。请参阅@MitchS 答案并将 IIS 设置为将index.php 识别为可能的默认文档之一。对于 IIS7,see this
  • EdSF,这行得通。用我使用的解决方案更新了原始问题。

标签: php asp.net


【解决方案1】:

您需要将 'index.php' 设置为 IIS 中的默认内容页面。具体操作方法可能会略有不同,具体取决于您使用的 IIS 版本。

在 IIS6 中,您转到网站属性(通过右键单击上下文菜单),转到“文档”选项卡并将它们添加到那里。

按照你们中的一些人在 cmets 中的要求进行编辑 - 以下是 Microsoft 提供的关于通过 web.config 将 index.php 设置为默认内容页面的指南:

How to add a default document with IIS7 web.config

【讨论】:

  • 嗯...我只有 ftp 访问权限,我假设这不能通过 FTP 完成?
  • 你也可以通过 web.config 来完成。
  • @MitchSatchwell 嗨,我没有网络配置经验,所以我必须在 web.config 文件中添加或更改.. 请指导我解决问题
【解决方案2】:

看看这个thread 是否对你有帮助。我从来没有尝试过在asp下运行php。我要么做要么。 但显然这是可能的。

【讨论】:

  • 如果我定义'/folder/index.php',php页面加载正常,当我输入'/folder/'时它只会抛出403。似乎它没有被识别为索引页面。
【解决方案3】:
can you do a javascript redirect from index.html 

<script>
window.document.location = "index.php";
</script>

【讨论】:

  • 我不想做重定向。页面需要立即加载且顺利(没有 javascript 的用户将无法看到内容)。
猜你喜欢
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多