après avoir configuré les règles wordpress htaccess dans mon vhost, je n’ai pas pu entrer dans la zone wp-admin. J'ai toujours été redirigé vers la page d'accueil de mon instance wordpress.
La réécriture elle-même a fonctionné sur la page principale. Tous les liens fonctionnaient jusqu'à présent, mais la zone d'administration reste sans accès.
Règles de réécriture utilisées:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Personnellement, je ne sais pas par où commencer à chercher, je suis même incapable de trouver ce problème sur Google, ce qui est plutôt rare - peut-être que quelqu'un ici sait où le problème doit être localisé.
OK, donc le problème initial était: How to get the Rewrite Rule working at a VHOST Environment
et la réponse - si elle était inconnue - était un peu délicate. RewriteBase ne fonctionne pas sur un VHOST. La solution consiste à placer tous ces éléments Rewrite-Stuff dans un répertoire-section comme celui-ci:
<VirtualHost *:80>
ServerName www.mydomain.tld
...more config stuff...
<Directory "/var/www/mydomain">
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</Directory>
</VirtualHost>
Alors ça marche. Je mettrai à jour le titre des questions pour obtenir de meilleurs résultats sur Google à l'avenir. J'espère que cela pourra aider tous ceux qui rencontrent les mêmes problèmes.
Je ne sais pas si cela vous aidera, mais sa bonne pratique consiste à inclure les commentaires WordPress BEGIN et END autour de vos règles, ainsi que la vérification de mod_rewrite:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Également:
J'utilise les éléments suivants dans ma configuration vhost. Avec cela, vous pouvez utiliser le fichier .htaccess dans le répertoire de votre projet:
<Directory "YOUR-PROJECT-PATH">
Options FollowSymLinks Includes ExecCGI
AllowOverride All
DirectoryIndex index.html index.htm index.php
</Directory>