VUE路由history模式IIS部署URL重写

256 阅读1分钟
  1. 前端项目部署到IIS

  2. Web.config配置文件放到项目在IIS物理路径目录下

1693293920913.jpg

iis配置文件web.config代码:

</location>
<system.webServer>
	<rewrite>
		<rules>
			<rule name="api0" enabled="false" patternSyntax="Wildcard" stopProcessing="true">
				<match url="*api/*" />
				<action type="Rewrite" url="/api/{R:2}" />
			</rule>
			<rule name="Handle History Mode and custom 404/500" enabled="false" stopProcessing="true">
				<match url="^(?![api]).*$" />
				<conditions logicalGrouping="MatchAll">
					<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
					<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
					<add input="{REQUEST_FILENAME}" pattern=".*\.[\d\w]+$" negate="true" />
				</conditions>
				<action type="Rewrite" url="/index.html" />
			</rule>
			<rule name="api" enabled="false" stopProcessing="true">
				<match url="^api/(.*)$" ignoreCase="false" />
				<action type="Rewrite" url="/api/{R:1}" />
			</rule>

			<rule name="upload" enabled="true" stopProcessing="true">
				<match url="^upload/(.*)$" />
				<action type="Rewrite" url="/upload/{R:1}" />
			</rule>

			<rule name="StaticFiles" enabled="true">
				<match url="^StaticFiles/(.*)$" />
				<action type="Rewrite" url="/StaticFiles/{R:1}" />
			</rule>
			<rule name="StatisFile" enabled="true">
				<match url="^StatisFile/(.*)$" />
				<action type="Rewrite" url="/StatisFile/{R:1}" />
			</rule>
			<rule name="ewebeditor" stopProcessing="true">
				<match url="^webManage/ewebeditor/(.*)$" />
				<action type="Rewrite" url="/webManage/ewebeditor/{R:1}" />
			</rule>
			<rule name="wbemanage-static" enabled="true" stopProcessing="true">
				<match url="^webManage/static/(.*)$" />
				<action type="Rewrite" url="/webManage/static/{R:1}" />
			</rule>

			<rule name="wbemanage" enabled="true" stopProcessing="true">
				<match url="^webManage/(.*)$" />
				<action type="Rewrite" url="/webManage/index.html" />
			</rule>

			<rule name="h5-static" stopProcessing="true">
				<match url="^h5/static/(.*)$" />
				<action type="Rewrite" url="/h5/static/{R:1}" />
			</rule>


			<rule name="h5" stopProcessing="true">
				<match url="^h5/(.*)$" />
				<action type="Rewrite" url="/h5/index.html" />
			</rule>
			
			<rule name="default-static" stopProcessing="true">
				<match url="^static/(.*)$" />
				<action type="Rewrite" url="/h5/static/{R:1}" />
			</rule>

			<rule name="default">
				<match url="^(.*)$" />
				<action type="Rewrite" url="/h5/index.html" />
			</rule>
		</rules>
	</rewrite>
	<modules>
		<remove name="WebDAVModule" />
	</modules>
	<httpProtocol>
		<customHeaders>
			<add name="head" value="access-control-allow-origin: *" />
		</customHeaders>
	</httpProtocol>
	<security>
		<requestFiltering>
			<!-- Measured in Bytes -->
			<requestLimits maxAllowedContentLength="1073741824" />
			<!-- 1 GB -->
		</requestFiltering>
	</security>
</system.webServer>