web-dev-qa-db-fra.com

Web.config WordPress réécrire les règles à côté de Magento

J'ai installé Magento sur IIS dans le dossier: E:\mydomain\wwwroot (tout fonctionne déjà correctement).

Je n'ai pas de dossier plus profond magento, j'ai placé tous les fichiers directement dans le dossier wwwroot, donc:

wwwroot\app
wwwroot\downloader
wwwroot\errors
wwwroot\includes
etc...

UPDATE: puisque je suis sur IIS mon .htaccess est complètement ignoré et mon web.config les règles sont utilisées à la place. Voici mon web.config dans le dossier e:\mydomain\wwwroot:

<?xml version="1.0" encoding="UTF-8"?> 

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Magento SEO: remove index.php from URL">
          <match url="^(?!index.php)([^?#]*)(\\?([^#]*))?(#(.*))?" />
            <conditions>
              <add input="{URL}" pattern="^/(media|skin|js)/" ignoreCase="false" negate="true" />
              <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
              <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
            </conditions>
          <action type="Rewrite" url="index.php/{R:0}" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Ensuite, je voulais installer WordPress. J'ai décompressé tous les fichiers du dossier e:\mydomain\wwwroot\wordpress

J'ai visité le site www.mondomaine.com/wordpress/wp-admin/install.php, où j'ai tout configuré pour ma base de données. Tout a été installé correctement.

Je navigue ensuite vers http://www.mydomain.com/wordpress/wp-login.php où je tape mes informations d'identification. Il semble que je sois connecté et que je suis redirigé vers http://www.mydomain.com/wordpress/wp-admin/ Mais là je reçois une page vide. J'ai activé le message d'erreur détaillé dans IIS après cet article: http://www.iis.net/learn/troubleshoot/diagnosing-http-errors/how-to-use-http-detailed -errors-in-iis Je vérifie aussi avec Fiddler et vois que je reçois une erreur 500:

GET/wordpress/wp-admin/HTTP/1.1 Hôte: www.mydomain.com Connexion: keep-alive Cache-Control: max-age = 0 Accepter: text/html, application/xhtml + xml, application/xml; q = 0.9, /; q = 0,8 Agent utilisateur: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/29.0.1547.76 Safari/537.36 Référent: http://www.mydomain.com/wordpress/wp-login.php Encodage accepté: gzip, deflate, sdch Accept-Langue: en-US, en; q = 0.8, nl ; q = 0.6 Cookie: wordpress_fabec4083cf12d8de89c98e8aef4b7e3 = floran% 7C1381236774% 7C2d8edb4fc6618f290fadb49b035cad31; wordpress_test_cookie = WP + Cookie + check; wordpress_logged_in_fabec4083cf12d8de89c98e8aef4b7e3 = floran% 7C1381236774% 7Cbf822163926b8b8df16d0f1fefb6e02e

HTTP/1.1 500 Erreur de serveur interne Content-Type: text/html Serveur: Microsoft-IIS/7.5 X-Powered-By: PHP/5.4.14 X-Powered-By: ASP.NET Date: dim, 06 oct 2013 12: 56:03 GMT Content-Length: 0

Mon WordPress web.config dans le dossier e:\mydomain\wwwroot\wordpress contient:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <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>

Je souhaite également que mes articles WordPress soient disponibles sur www.mydomain.com/blog au lieu de www.mydomain.com/wordpress

Bien sûr, mes liens d’administrateur pour Magento et Wordpress devraient également fonctionner.

Comment configurer mes fichiers web.config pour atteindre les objectifs ci-dessus?

1
Flo

Il peut être intéressant d’activer les messages d’erreur détaillés dans IIS pour vous permettre de déterminer la cause de cette erreur 500. Par défaut, IIS ne montrera pas les erreurs détaillées à moins que vous ne demandiez la page à localhost.

1
Dale Anderson