Apache:サイト全体を公開して閉じ、カスタムページを表示します。

Apache:サイト全体を公開して閉じ、カスタムページを表示します。

ウェブサイトのどのファイルも何も削除したくないが、すべてを公衆に公開したくないと仮定しましょう。カスタムページを表示するだけです。

ファイルを介してhttpd.confこの問題をどのように解決できますか?たぶん、次のようなものがあります。

Alias /* /a.txt

答え1

あなたは正しい道を行っています! :)

カスタムページをindex.htmlサーバー上の他のフォルダに貼り付け、DocumentRootがそのフォルダを指すようにします。したがって、現在のサイトが/var/www/ファイルにある場合は、.conf次の行が含まれます。新しいカスタムページがあるディレクトリを指すように変更しますDocumentRoot /var/wwwindex.html

また、新しいカスタムページがあるディレクトリにアクセスする権限があることを確認してください。ドキュメントルート(と仮定/var/www)の場合、confファイルの権限は次のようになります。

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted 
</Directory>

新しいディレクトリに置き換えます(例<Directory /var/www2/>:)。

設定ファイル(たとえば、sudo service apache2 restartまたはsudo /etc/init.d/apache restart)がロードされるようにApacheを再起動します。

前のサイトに戻りたい場合は、もう一度交換してください。

答え2

これに対するルールを書き換えることを提案します。

RewriteCond %{REQUEST_URI} ^/a\.txt$
RewriteRule ^(.*)$ - [L]

RewriteRule ^(.*)$ /a.txt?url=%{REQUEST_URI} [R=302,L,QSA]

このルールは、すべてがa.txtループを生成しないように指示する必要があります。

関連情報