Получить ошибку 404 на Ghost (блог) / IIS 8 в виртуальном каталоге

То , что я хочу сделать, это разместить призрак в виртуальном каталоге или приложении, например:

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-адрес действия будет иметь url="/blog/index.js", например.

<action type="Rewrite" url="/blog/index.js" />
Другие вопросы по тегам