这些文件未加载到 IIS 服务器的 MVC 框架中
The files are not loading in MVC framework in IIS server
我第一次在iis 服务器上使用mvc 框架。
我将 .htaccess 更改为 web.config 并且发生了非常奇怪的事情。
一些 .css 和 .js 文件被加载,一些没有。我完全不明白。
例如,这些文件正确加载:
<script src="/assets/plugins/global/plugins.bundle.js"></script>
<script src="/assets/js/scripts.bundle.js"></script>
但是例如这个文件没有加载:
<script src="/assets/js/custom/authentication/sign-in/general.js"></script>
我的文件夹如下所示:
-wwwroot
web.config
-public
-assets
-js
-...
可能配置文件有问题。如果我在 .js 文件的地址之前写文件夹名称 / public /,那么一切都很好。
也许你们中的一些人有类似的问题并且知道如何解决它
下面是我的配置文件代码:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<rewrite>
<rules>
<rule name="rule 1p" stopProcessing="true">
<match url="^$"/>
<action type="Rewrite" url="public/" />
</rule>
<rule name="rule 2p" stopProcessing="true">
<match url="^(.*)$"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="public/index.php?{R:1}" appendQueryString="true"/>
</rule>
<rule name="phpmyadmin" stopProcessing="true">
<match url="(.*)phpmyadmin(.*)" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
编辑
我将服务器上的物理路径更改为:C:\inetpub\wwwroot\public
并将 web.config 替换为 public 文件夹
-wwwroot
-public
-web.config
-assets
-js
-...
我的 web.congif 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="rule 1p" stopProcessing="true">
<match url="^(.+)/$"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="/{R:1}" />
</rule>
<rule name="Rule" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php?{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我现在唯一的问题是主页没有显示。所有子页面都正常工作,包括 js 和 css 文件。
当我想显示我的主页时。 mypage.com 然后我得到这样的错误:
HTTP Error 403.14 - Forbidden The Web server is configured to not list
the contents of this directory. Detailed Error Information: Module DirectoryListingModule Notification ExecuteRequestHandler Handler
StaticFile Error Code 0x00000000 Requested URL localhost
Physical Path C:\inetpub\wwwroot\public
Logon Method Anonymous Logon User Anonymous
当我想在 mypage.com/home/index
之后显示主页时,页面会显示但没有 js 和 css 文件
出现此问题的原因可能是该网站未启用目录浏览功能。要解决此问题,您可以尝试使用以下方法:
- 启动 IIS 管理器。为此,select 开始,select 运行,键入 inetmgr.exe,然后 select 确定。
- 在 IIS 管理器中,展开服务器名称,展开网站,然后select您要更改的网站。
- 在“功能”视图中,double-click 目录浏览。
- 在“操作”窗格中,select 启用。
我第一次在iis 服务器上使用mvc 框架。 我将 .htaccess 更改为 web.config 并且发生了非常奇怪的事情。 一些 .css 和 .js 文件被加载,一些没有。我完全不明白。 例如,这些文件正确加载:
<script src="/assets/plugins/global/plugins.bundle.js"></script>
<script src="/assets/js/scripts.bundle.js"></script>
但是例如这个文件没有加载:
<script src="/assets/js/custom/authentication/sign-in/general.js"></script>
我的文件夹如下所示:
-wwwroot
web.config
-public
-assets
-js
-...
可能配置文件有问题。如果我在 .js 文件的地址之前写文件夹名称 / public /,那么一切都很好。 也许你们中的一些人有类似的问题并且知道如何解决它 下面是我的配置文件代码:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<rewrite>
<rules>
<rule name="rule 1p" stopProcessing="true">
<match url="^$"/>
<action type="Rewrite" url="public/" />
</rule>
<rule name="rule 2p" stopProcessing="true">
<match url="^(.*)$"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="public/index.php?{R:1}" appendQueryString="true"/>
</rule>
<rule name="phpmyadmin" stopProcessing="true">
<match url="(.*)phpmyadmin(.*)" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
编辑
我将服务器上的物理路径更改为:C:\inetpub\wwwroot\public
并将 web.config 替换为 public 文件夹
-wwwroot
-public
-web.config
-assets
-js
-...
我的 web.congif 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="rule 1p" stopProcessing="true">
<match url="^(.+)/$"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="/{R:1}" />
</rule>
<rule name="Rule" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php?{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我现在唯一的问题是主页没有显示。所有子页面都正常工作,包括 js 和 css 文件。 当我想显示我的主页时。 mypage.com 然后我得到这样的错误:
HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory. Detailed Error Information: Module DirectoryListingModule Notification ExecuteRequestHandler Handler
StaticFile Error Code 0x00000000 Requested URL localhost
Physical Path C:\inetpub\wwwroot\public Logon Method Anonymous Logon User Anonymous
当我想在 mypage.com/home/index
之后显示主页时,页面会显示但没有 js 和 css 文件
出现此问题的原因可能是该网站未启用目录浏览功能。要解决此问题,您可以尝试使用以下方法:
- 启动 IIS 管理器。为此,select 开始,select 运行,键入 inetmgr.exe,然后 select 确定。
- 在 IIS 管理器中,展开服务器名称,展开网站,然后select您要更改的网站。
- 在“功能”视图中,double-click 目录浏览。
- 在“操作”窗格中,select 启用。