ウェブサイトのどのファイルも何も削除したくないが、すべてを公衆に公開したくないと仮定しましょう。カスタムページを表示するだけです。
ファイルを介してhttpd.conf
この問題をどのように解決できますか?たぶん、次のようなものがあります。
Alias /* /a.txt
答え1
あなたは正しい道を行っています! :)
カスタムページをindex.html
サーバー上の他のフォルダに貼り付け、DocumentRootがそのフォルダを指すようにします。したがって、現在のサイトが/var/www/
ファイルにある場合は、.conf
次の行が含まれます。新しいカスタムページがあるディレクトリを指すように変更しますDocumentRoot /var/www
。index.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
ループを生成しないように指示する必要があります。