Come ospitare pagine Web ASP.NET con rasoio sotto WordPress?
-
27-10-2019 - |
Domanda
Il problema quando provo a raggiungere le pagine del rasoio della mia pagina Web ASP.NET utilizzando l'estensione CSHTML, funzionano bene. Se rimuovo l'estensione, WordPress cerca di cercare l'URL come se fosse un post sul blog e non riesco a raggiungere la pagina o usare URL "Pretty" tramite Razor.
Sto ospitando con Winhost. Ho WordPress installato nella mia directory dell'applicazione root. Tale directory contiene il seguente file 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>
La mia applicazione è nel sotto-conduttore "/app". Puoi testare il problema tu stesso andando qui:
http://www.cuttrategamer.com/app/game-deals-chart.cshtml
Quindi prova ad andare qui:
http://www.cuttrategamer.com/app/game-deals-chart/
La pagina funziona bene senza l'estensione CSHTML sulla mia macchina locale.
Qualcuno sa come risolverlo?
Soluzione
Prima di WordPress regola, aggiungi una regola per catturare il /App traffico e smettere di elaborare le regole, qualcosa del genere:
<rule name="razorapp" stopProcessing="true">
<match url="^app/*"/>
<action type="None" />
</rule>
Non sono sicuro che sia esattamente corretto, ma dovresti avere l'idea. È necessario cortocircuire il modulo di riscrittura prima che elabora il WordPress regola nella tua configurazione.