在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/PHP  Linux  HTML/ vue單頁(yè)面 iis跨域重寫(xiě)規(guī)則與history模式的規(guī)則沖突

vue單頁(yè)面 iis跨域重寫(xiě)規(guī)則與history模式的規(guī)則沖突

我用的iis10服務(wù)器,需要實(shí)現(xiàn)跨域請(qǐng)求,同時(shí)呢,也要保證vue history模式刷新頁(yè)面時(shí)候不會(huì)報(bào)404等問(wèn)題,于是在web.config中添加兩個(gè)相反的規(guī)則,代碼如下。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>

<rewrite>
  <rules>
    
    <!-- 規(guī)則1 -->
    <rule name="jjss_data2">
      <match url="^api/(.*)" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^t\.jjss\.com$" />
      </conditions>
      <action type="Rewrite" url="http://b.jjss.com/{R:1}" />
    </rule>

    <!-- 規(guī)則2 -->
    <rule name="Handle History Mode and custom 404/500" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      </conditions>
      <action type="Rewrite" url="/" />
    </rule>
  </rules>
</rewrite>

</system.webServer>
</configuration>

當(dāng)url中包含api時(shí)候,重寫(xiě)規(guī)則為1,重寫(xiě)域名請(qǐng)求服務(wù)器數(shù)據(jù),當(dāng)url中不包含api時(shí)候,重寫(xiě)規(guī)則為2,history模式下刷新頁(yè)面沒(méi)問(wèn)題。這兩個(gè)規(guī)則,分別存在時(shí)候,對(duì)應(yīng)的情景都正常,但是把這兩個(gè)規(guī)則像上面一起寫(xiě)的時(shí)候,規(guī)則1失效了,api接口請(qǐng)求報(bào)以下錯(cuò)誤:

HTTP 錯(cuò)誤 500.50 - URL Rewrite Module Error.
您查找的資源存在問(wèn)題,因而無(wú)法顯示。

詳細(xì)錯(cuò)誤信息:
模塊 RewriteModule
通知 BeginRequest
處理程序 ExtensionlessUrlHandler-Integrated-4.0
錯(cuò)誤代碼 0x8007000d
請(qǐng)求的 URL http://t.jjss.com:80/api/data/article/list?page=1&cat=0
物理路徑 E:webappwebdistapidataarticlelist
登錄方法 尚未確定
登錄用戶(hù) 尚未確定

要怎么配置呢。

回答
編輯回答
萌小萌

我對(duì)問(wèn)題的理解是:vue的history模式如何在iis中發(fā)布

iis下vue的history模式發(fā)布配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <customErrors mode="On" defaultRedirect="index.html">
            <error statusCode="404" redirect="index.html" />
        </customErrors>
    </system.web>
    <system.webServer>
        <httpErrors errorMode="Custom">
            <remove statusCode="404" />    
            <remove statusCode="500" />          
            <error statusCode="500" path="/index.html" responseMode="ExecuteURL" />
            <error statusCode="404" path="/index.html" responseMode="ExecuteURL" />
        </httpErrors>
      
    </system.webServer>
</configuration>
2018年2月21日 17:53