Как разместить веб-страницы ASP.NET с Razor под Wordpress? - PullRequest
2 голосов
/ 18 февраля 2012

Проблема Когда я пытаюсь получить доступ к страницам бритвы ASP.NET Web Page с помощью расширения cshtml, они работают нормально.Если я удаляю расширение, WordPress пытается найти URL-адрес, как если бы это был пост в блоге, и я не могу попасть на страницу или использовать «красивые» URL-адреса через Razor.

Я хостинг с Winhost.У меня установлен WordPress в моей корневой директории приложения.Этот каталог содержит следующий файл Web.cofig:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <defaultDocument>
      <files>
        <add value="index.php"/>
      </files>
    </defaultDocument>
    <rewrite>
      <rules>
                <rule name="wordpress" patternSyntax="Wildcard">
                    <match url="*"/>
                        <conditions>
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
                        </conditions>
                    <action type="Rewrite" url="index.php"/>
                </rule>
        </rules>
    </rewrite>
  </system.webServer>
</configuration>

Мое приложение находится в подпапке "/ app".Вы можете проверить проблему самостоятельно, зайдя сюда:

http://www.cutrategamer.com/app/game-deals-chart.cshtml

Тогда попробуйте перейти сюда:

http://www.cutrategamer.com/app/game-deals-chart/

Страница работает нормальнобез расширения cshtml на моей локальной машине.

Кто-нибудь знает, как решить эту проблему?

1 Ответ

2 голосов
/ 18 февраля 2012

Перед правилом wordpress добавьте правило для перехвата правил / app трафика и остановки обработки, например:

<rule name="razorapp" stopProcessing="true">
    <match url="^app/*"/>
    <action type="None" />
</rule>

Не уверен, еслиэто совершенно правильно, но вы должны понять.Вам необходимо замкнуть модуль перезаписи, прежде чем он обработает правило wordpress в вашей конфигурации.

...