Helicon动物园Sinatra静态文件

时间:2012-07-23 16:46:18

标签: iis sinatra

CSS使用Helicon Zoo和Sinatra在IIS 7.5上无法正常工作。

这是目录结构:

welcometo
 --public
  --styles
   --welcometo.css

我使用Webrick测试了我的网站,效果很好。

当我转到localhost:4567 / styles / welcometo.css时,样式表将显示在Web浏览器中。

当我访问IIS网站/styles/welcometo.css时,我收到此错误:

Try this:
get '/public/styles/welcometo.css' do
    "Hello World"
end

我从Helicon Zoo's Sinatra page复制了web.config。这是静态文件部分:

<!-- Send static files through IIS -->
<rewrite>
    <rules>
            <rule name="Avoid Static Files" stopProcessing="true">
                <match url="^(?!public)(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="true">
                        <add input="{APPL_PHYSICAL_PATH}" pattern="(.*)" ignoreCase="false" />
                        <add input="{C:1}public\{R:1}" matchType="IsFile" />
                    </conditions>
            <action type="Rewrite" url="public/{R:1}" />
                </rule>
        </rules>
</rewrite>

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我们忘了在/ public文件夹中包含web.config示例,抱歉。您可以在页面上看到Ruby on Rails安装的示例:Ruby on Rails (2.3.x and 3.x.x) on IIS 请将此web.config文件放入/ public文件夹:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
                <!-- 
                This disables Helicon Zoo handler and makes IIS processing static
                files directly.
                -->
                <remove name="rails.project#x64" />
                <remove name="rails.project#x86" />
        </handlers>
    </system.webServer>
</configuration>