在虚拟目录中的 Ghost (博客) / IIS 8 上收到 404 错误

在虚拟目录中的 Ghost (博客) / IIS 8 上收到 404 错误

我想要做的是将 ghost 托管在虚拟目录或应用程序中,例如:

www.mysite.com/blog

我目前已经安装了什么

  • IIS 8-URL 重写 2
  • Node.js v0.10.24
  • x64 Ghost 0.3.3 iisnode x64

我按照说明进行操作鬼魂论坛中的这个帖子

当我尝试浏览它时,我得到了一个404 错误. 到目前为止这是我的网络配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>         
      <handlers>
           <add name="iisnode" path="index.js" verb="*" modules="iisnode" />
     </handlers>

      <iisnode
      nodeProcessCommandLine="&quot;%programfiles%\nodejs\node.exe&quot;" 
      interceptor="&quot;%programfiles%\iisnode\interceptor.js&quot;" />

      <rewrite>
           <rules>
                <rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true">
                     <match url="iisnode" />
                </rule>
                <rule name="DynamicContent">
                     <conditions>
                          <add input="{{REQUEST_FILENAME}}" matchType="IsFile" negate="True" />
                     </conditions>
                     <action type="Rewrite" url="index.js" />
                </rule>
           </rules>
      </rewrite>
   </system.webServer>
 </configuration>

和我的生产配置

production: {
        url: 'http://www.mysite.com/blog',
        mail: {},
        database: {
            client: 'sqlite3',
            connection: {
                filename: path.join(__dirname, '/content/data/ghost.db')
            },
            debug: false
        },
        server: {
            // Host to be passed to node's `net.Server#listen()`
            host: '127.0.0.1',
            // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
            port: process.env.PORT
        }
    }

我是 node.js 服务的新手,如能得到任何帮助我将不胜感激!

答案1

我知道这有点晚了,但当我尝试设置 Ghost 1.7.* 时也出现了同样的错误。我所做的就是更改重写规则,如下所示:

  <rewrite>
       <rules>
            <rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true">
                 <match url="iisnode" />
            </rule>
            <rule name="DynamicContent">
                 <conditions>
                      <add input="{{REQUEST_FILENAME}}" matchType="IsFile" negate="True" />
                 </conditions>
                 <action type="Rewrite" url="/blog/index.js" />
            </rule>
       </rules>
  </rewrite>

我在这里写了这篇文章:http://huytn.com/setup-ghost-blog-version-1-for-iis/ 操作网址将具有url="/blog/index.js"例如。

<action type="Rewrite" url="/blog/index.js" />

相关内容