0

サブフォルダーをドメインのルートとして設定する方法に関するホストの記事を読みましたが、リクエストはすべて /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 を使用したいと考えています。 .

私はここで多くのことを尋ねていることを知っているので、申し訳ありません。

ご協力いただける方には、事前に感謝いたします。

4

1 に答える 1

0

サブフォルダーにファイルを追加でき.htpasswdます。

.htpasswd

admin:$apr1$EvV5M50w$9IgAqskEg5r2pIIXUzQyp0

サブフォルダー/.htaccessファイルで次のように定義します。

AuthUserFile /www/site/.htpasswd
AuthType Basic
AuthName "My secret place"
require valid-user

サブフォルダーを開くと、パスワードとユーザー名 (私の例ではadmin / admin ) を求められます。

そして、それを開始フォルダーとして設定するには、いつでも追加できます

<?php header( 'Location: /subfolder/' ); die; ?>

index.php ファイルの一番上にあるため、常にサブフォルダーにリダイレクトされます。

于 2012-11-20T14:09:37.407 に答える