サブフォルダーをドメインのルートとして設定する方法に関するホストの記事を読みましたが、リクエストはすべて /subfolder/ に送信され、ルートにはまったく送信されないと誤解されましたが、そうではありませんでした.
ルートの .htaccess でこのコードを使用していますが、残念ながら、期待どおりに機能していません。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
私が達成しようとしているのは次のとおりです。
- /subfolder/ のルート
- 元の真のルートへのすべてのリクエストは、まったく存在しないかのように拒否されます。/subfolder/ に設定されたエラー処理によって、phpinfo.php、php.ini、ページまたはその他のアイテムへのアクセスが拒否されます。「domain.com/whateverhere」へのリクエストは、常に /subfolder/ に送信されます。
- 可能であれば、domain.com/subfolder/ に移動して 404 を表示する機能を制限してください。ただし、リダイレクトも同様に効果的だと思います。
- 私は現在、スクリプト、css、画像などを含む domain.com/resources/ にあるルートの /resources/ フォルダーを使用しています。 .com/resources/ は /subfolder/ にありませんが、まだ受け入れられています。前に言ったように、真のルートへのアクセスを完全に制限し、すべてのリクエストを /subfolder/ に強制する方法を知りたいです。
全体として、「ルート」を /subfolder/ として完全に設定し、実際のルートに phpinfo.php や php.ini などの重要なファイルをアクセスできないようにし、通常どおり真のルートで .htaccess を使用したいと考えています。 .
私はここで多くのことを尋ねていることを知っているので、申し訳ありません。
ご協力いただける方には、事前に感謝いたします。