web-dev-qa-db-ja.com

Wordpressの.htaccessサブディレクトリの問題

私は私のサブディレクトリにアクセスすることを可能にする私のWordpressのインストール、特にmydomain.com/codeigniterでCodeIgniterのインストールに問題を抱えています。技術的にはそのままでうまく機能し、作成時にフォルダを認識するはずです。しかし、これは起こっていません。私はそれがプラグインと何か関係があると思うが、私はそれらすべてを無効にしようとしたが、それでも問題が発生する(Wordpress 404ページに案内する)。

しかし、その間に解決策を見つけました。サブドメインを作成すると、何かが変更され、すべてが本来の方法で機能します。直接パスとサブドメイン名の両方を使用してフォルダにアクセスします。

何か手助け?私は両方のディレクトリの私の.htaccessファイルでいろいろな種類の楽しいものを試しました、しかし、それらを変えても何もしません。

更新日:これは、ルートフォルダにあるWordpressの.htaccessファイルです。

DirectoryIndex index.php index.htm index.html
AddHandler application/x-httpd-php52 .php .php5 .php4 .php

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/?codeigniter/
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

そして、/ codeigniter /サブディレクトリにあるCodeIgniter .htaccessファイル。

DirectoryIndex index.php index.htm index.html
AddHandler application/x-httpd-php52 .php .php5 .php4 .php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /codeigniter
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</IfModule>
4
Jeff Wain

静的ファイルやディレクトリは、サーバルートのmod_rewriteによるワードプレスインストールでも機能しますが、そのmod_rewriteのラインナップからCodeIgniterサブディレクトリを除外する必要があるかもしれません。

追加の.htaccessファイルをCodeIgniterディレクトリに配置し、そこでmod_rewriteを無効にすることでこれを行うことができます。

<IfModule mod_rewrite.c> 
RewriteEngine off
</IfModule>

関連: Apache - サブディレクトリのmod_rewriteを無効にする

これは通常私の仕事です。しかし、サブディレクトリが自分自身でmod_rewrite設定を必要とする場合(それはPHPフレームワークが必要とするように)、それほど簡単ではないかもしれません。

Apacheの設定がどのように機能するかを理解するには、 設定ファイル(Apacheマニュアル) および AllowOverrideディレクティブ(Apacheマニュアル) を参照してください。

3
hakre