私のバーチャルホストでwordpressのhtaccessルールを設定した後、私はwp-admin領域に入ることができませんでした。私はいつも私のワードプレスインスタンスのフロントページにリダイレクトされました。
書き換え自体はメインページで行われました。すべてのリンクはこれまでのところうまくいきましたが、管理領域はアクセスなしで残ります。
使用される書き換え規則:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
個人的に私はどこから見ていいのかわからない、Googleでその問題を見つけることさえできない、ちょっとめったにない。
そうですね、最初の問題はHow to get the Rewrite Rule working at a VHOST Environment
で、答えは(不明な場合)少し難しいものでした。 RewriteBaseはVHOSTでは動作しません。解決策は、このようにすべてのRewrite-StuffをDirectory-Sectionに配置することです。
<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>
それでうまくいきます。今後Googleでより良い結果が得られるように、質問のタイトルを更新します。誰もが同じ問題にぶつかるのを助けるかもしれないことを願っています。
これが助けになるかどうかは定かではありませんが、そのベストプラクティスとして、ルールの前後にBEGINおよびEND WordPressのコメントを含め、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
また:
私は自分のvhost設定で次のものを使っています、これでプロジェクトディレクトリの.htaccessファイルを使うことができます。
<Directory "YOUR-PROJECT-PATH">
Options FollowSymLinks Includes ExecCGI
AllowOverride All
DirectoryIndex index.html index.htm index.php
</Directory>