在Azure上托管的webapp中的web.config中重写规则

时间:2017-02-06 05:17:37

标签: php web-config azure-web-sites

我正在尝试将请求https://www.mywebsite.com/product/Apple/Green(不是真正的链接)重定向到https://www.mywebsite.com/product.php?prod=Apple&type=green(不是真正的链接)

我在web.config文件中添加了以下规则,但它似乎无法正常工作

 <rule name="rwrite">
 <match url="^product/([A-Za-z0-9]+)/([A-Za-z0-9-]+)/?$" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="Rewrite" url=“product.php?prod={R:1}&amp;type={R:2}" appendQueryString="true" /></rule>

我在URL Writer中测试了这段代码,它给了我正确的输出。但是,如果我上传此配置文件,它会加载product.php文件,但无法加载其他JS文件&amp; html部分中包含的css文件。

1 个答案:

答案 0 :(得分:1)

这不是网址重写问题。我的猜测是你使用相对路径加载JS文件&amp; HTML部分中的CSS文件。也许看起来像这样:

<head>
    <script src="index.js"></script>
</head>

这与浏览器地址栏中的URL有关。为防止这种情况发生,您需要将/(相对于域的根文件夹)添加到文件路径的开头:

<script src="/index.js"></script>

或使用这些静态文件的完整路径:

<script src="http://mywebsite.com/index.js"></script>