6つほどのファイルを除いて、フォルダ全体のコンテンツが不要になり、ホームページにリダイレクトされるという状況があります。フォルダには300を超えるファイルが含まれているため、個々のリダイレクトは次のようになります。
redirect 301 /folder/file.html http://www.domain.tld/
redirect 301 /folder/file2.html http://www.domain.tld/
redirect 301 /folder/file3.html http://www.domain.tld/
これにはかなり長い時間がかかります。これが必要になるまでに少し時間があります。mod_rewriteで小さな正規表現を使用してこれを実現するための良い方法を誰かが知っているかどうかを知りたいと思います。
潜在的な正解を使用する可能性のあるすべての人を最適に理解するために、リダイレクトしたくないファイルを次のように設定します。
/folder/stay1.html
/folder/stay2.html
/folder/stay3.html
まだ学ぶことがいくつかある私たちの人々を助けてくれる非常に知識豊富な人々のこの素晴らしいコミュニティに事前に感謝します!
編集
これを達成し、フォルダのベースURLを保持することは可能ですか?
/folder/
/folder/index.html
私は成功せずに次のことを試みました:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/folder(/|/index.html|/stay1.html|/stay2.html|/stay3.html|/etc.html)
RewriteRule ^/?folder/ http://www.domain.tld/ [L,R=301]
正解を編集
答えてくれたJonLinに大いに感謝します。
/folder/
アクセスを許可しながら、いくつかを除くすべてのファイルをリダイレクトする正しい方法/folder/
は次のとおりです。
RewriteEngine On
# Allow /folder/ to remain accessible
RewriteCond %{REQUEST_URI} !^/folder/$
# Allow specified files to remain accessible
RewriteCond %{REQUEST_URI} !^/folder/(index.html|stay1.html|stay2.html|stay3.html|etc.html)
# Redirect all non-specified files to home page
RewriteRule ^/?folder/(.+)$ http://www.domain.tld/ [L,R=301]