WordPressで動作しているサイトがあります。私はサーバ上のサブディレクトリ(sandbox/
)の下に新しいサイトをテストしています。新しいサイトでは、私は.htaccess書き換えルールを使用しています。これはWPに似ており、クリーンURLに書き換えられます。 WPで同等のパスを持つページがWPページにリダイレクトされていることがわかりました。サブディレクトリ、ヒットまたはミスを無視しているWordpress
たとえば、新しいサイトに正しくリダイレクトされるURLがの1つのページがあります。しかし、別のページが/sandbox/events/
にあり、ベースディレクターにリダイレクトされるのは/events/
です。
人々の似たような問題を見て、私はRewriteCond %{REQUEST_URI} !sandbox/ [NC]
と他の亜種(!^sandbox/.$
など)を使ってみましたが、何の効果もないようです。以下の2つの.htaccessファイルをコピーしました。
お時間をいただきありがとうございます。状況を十分に説明してくれることを願っています。
ベースの.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_URI} !sandbox/ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
サブディレクトリ(サンドボックス/)の.htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sandbox/index.php [L]
-MultiViewsで修正されました。本当にありがとう!私はちょうど私の足を.htaccessに濡らしていて、以前にこのオプションについて聞いていなかった。 MultiViewsは、ユーザのURLに指定されていない場合、サーバが代替インデックスファイルを検索するようにします(この場合はwwwのようなものです.domain.com/sandbox/folder /)。私の場合は、ベースフォルダ内で最初に検索し、そこにindex.phpファイルがあり、それを提供していると推測しています。したがって、/ sandboxフォルダ内のindex.phpファイルを使用することはありませんでしたか? – mchestnut
TBH、私は100%確信していません。いくつかの状況でどのくらい正確に動作するのでしょうか?時には、それは.htaccessファイルがウェブサイトルートの外側にあります。そのような場合、私は現在の状況に合わせる必要があります...どのモジュールが有効になっているか、どのオプションが設定されているか(Apacheの設定方法など)に依存することがありますので、何か問題はありませんが、GoDaddyでは動作しません。 'Options + FollowSymLinks -MultiViews'は、共有ホスティング環境の非常に一般的なレシピです。この特定のケースで私はあなたの結論に同意します。 – LazyOne
まあ、それは共有ホスティングなので、確かにその請求書に適合します。再度、あなたの助けをありがとう。あなたは私に1トンの欲求不満を救った! – mchestnut