WordPressとCodeIgniterをサブフォルダーで区切って同じドメインで実行しています。これがベストプラクティスではないことはわかっていますが、CodeIgniterはWordPressに完全に移行するまでは一時的なものになるでしょう。
WordPressとCodeIgniterを衝突させずに実行させるために、誰かが.htaccess
ファイルを使って手伝ってくれるのかどうか疑問に思いました。
何らかの理由でWordPressの設定がサイト全体を引き継ぎます。
public_html/
.htaccess (blank)
/wordpress/
/codeigniter/
WordPressにアクセスするにはdomain.com
を使い、CodeIgniterを使うにはdomain.com/codeigniter
を使います。すべてうまくいきますが、CodeIgniterはWordPressサイトにリダイレクトし続けます。
.htaccess
こんにちは - はい、私は両方のディレクトリpublic_html /とwordpress /に.htaccessをコピーしました
# 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
あなたの.htaccess
ルールは、それらが下で定義されているレベルからカスケードしています。そのため、この場合は、ルートに設定した規則はすべて、両方のサブフォルダに適用されます。
あなたが必要です:
たぶん、このようなことを試してみてください。
あなたのルート上の.htaccess
:
# 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
.htaccess
ディレクトリの中の/wordpress/
:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress
.htaccess
ディレクトリの/codeigniter/
:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /codeigniter/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /codeigniter/index.php [L]
</IfModule>
# END WordPress