私はおそらく非常に単純なものを見逃しています。私は mod_rewrite で約 4^27 の投稿を行ってきました。しかし、まだ完全に機能させることはできません。
同じ DNS エントリを指す 2 つの URL があります。パーク ドメインをメイン ドメインのサブフォルダーにリダイレクトするための標準の .htaccess があります。しかし、2段階下に行くと問題が発生します。これが私の状況です。MAIN ドメインと PARKED ドメインがあります。PARKED ドメインへのすべてのリクエストが MAIN/PARKED で終わるようにしたいのですが、ユーザーには PARKED として表示されます。そのため、ユーザーが PARKED/page に入ると、ファイルが MAIN/PARKED/page にある場合でも、ブラウザーのアドレス バーに表示されるはずです。また、ユーザーが手動で MAIN/PARKED/subfolder/page を入力しても、ブラウザーに表示される URL が PARKED/subfolder/page に変更されるようにしたいと考えています。MAIN の .htaccess は次のとおりです。
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
# Display PARKED domain to user for all pages in MAIN/PARKED directory
RewriteCond %{HTTP_HOST} ^(www\.)?PARKED\.?(:[0-9]+)?$ [NC]
RewriteCond $1 !^PARKED/
RewriteRule ^(.*)$ PARKED/$1 [L]
# BEGIN WordPress
#RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
さらに複雑なことに、Wordpress サイトを MAIN/PARKED に配置しています。.htaccess ですべてを処理したかったので、Wordpress のルールは変更しませんでした。
上記の .htaccess は、ユーザーが上記の 2 つの深さの例を手動で入力する場合を除いて、すべての状況で正しく機能するように見えます: MAIN/PARKED/subfolder/page または MAIN/PARKED のみ。次に、404 を受け取ります。PARKED/subfolder/page に入ると、完全に動作します。
知恵の言葉のためのTIA。
マイケル