こんにちは。
すべての404エラーページを自動的にホームページまたは他のページにリダイレクトすることは可能ですか?
よろしくお願いいたします。
こんにちは。
すべての404エラーページを自動的にホームページまたは他のページにリダイレクトすることは可能ですか?
よろしくお願いいたします。
Discourseはhtaccessを使用しないため、どこで解決策を探せばよいかわかりません。どなたか助けていただけると幸いです ![]()
それを実現するためにプラグインを構築できると思いますか?
すぐにリダイレクトするのは混乱を招く可能性があるため、短いタイマーで対応するメッセージとともに404ルートをホームにリダイレクトするのはどうでしょうか?
それは機能するかもしれませんが、私はそれをどのように行うかわかりません:confused:
これのためのプラグインはありますか?
いや、そうは思わない。Marketplace に行けるよ
Htaccessは、Discourseの前にApache2があったとしても、また、そうであったとしても、いずれにせよ使用すべきではありません。
Dockerは人生をより複雑にします
そして、私はそれをどう扱うべきかわかりません。しかし、必要であればDiscourseの前にNginx(または他のサーバー/リバースプロキシ)を置くことはできます。そして、そのようなリダイレクトは非常に簡単なタスクになるでしょう。以下のようなことができます。
しかし、そもそもなぜ404をフロントページにリダイレクトしたいのですか?ユーザーが何かを探していて、目的のページや404の代わりにフロントページが表示された場合、それは少し混乱します。そしてその後、ユーザーが何か間違ったことをしたか、サイトに問題があったのかもしれないと思って、もう一度試すでしょう。全く不必要であり、奇妙なリダイレクトの代わりにすべてのサイトがエラー404を表示するのには理由があります。
WordPressブログをDiscourseに移行しています。リンク構造が異なるため、移行後には大量の404ページが発生します。それぞれを手動でリダイレクト設定することはできないため、自動的に行うソリューションが必要です。
はい、しかしそれは解決策ではありません。それは悪い修正にすぎません。URL構造はまだ壊れていますが、それを隠しているだけです。そして、SEO価値をそのように転送することはできません ![]()
とにかく、そこにはサーバーがあります。それを使ってみてください。
WordPress と Discourse のサイトで異なるサブドメインを使用する場合、WordPress サーバー側でこれを実行できる可能性が高いです。
page_not_found.title(元は「おっと!そのページは存在しないか、非公開です。」)を変更することは可能です。詳細な状況を説明できるような page_not_found.content のようなものがないのは残念です。
そのオプションは、私の記憶が正しければ、いかなる種類の転送も伴いません。
それらのリンクが指しているものは何であれ、Discourseに移行されるのでしょうか?たとえば、それらのリンクがトピックに変換するブログ記事を指している場合、パーマリンクを作成できます: Redirect old forum URLs to new Discourse URLs using permalinks
それらのURLを別のものに再マッピングすることもできます。URLに共通のフォーマットがあると仮定すると、REGEXとremapコマンドを使用してそれらを置き換えることができます。
remap [--global,--regex] FROM TO
コマンドの使用方法の例:
discourse remap --regex "[\\/?color(=[^\\\]]*)*]" "" # "color" bbcodeを削除
ただし、Google とユーザーの両方を満足させたいのであれば、WordPress のサーバー上で実行する必要があります。
5件の投稿が新しいトピックに分割されました:「トピック削除後にホームページにリダイレクトするにはどうすればよいですか?」[/t/how-do-i-redirect-to-homepage-after-topic-deletion/246677]
「カスタマイズ」機能を使用して、すべての壊れた 404 ページをホームページまたは別のページにリダイレクトできます。
「カスタマイズ」>「テーマ」>「新しいテーマを作成」セクションに移動し、テーマに名前を付けます(例:404 リダイレクト)。基本テーマをデフォルトに設定します。
次に、新しいテーマを作成し、「CSS/HTML を編集」をクリックします。HTML セクションで、リダイレクトを処理する JavaScript スニペットを作成します。
このコードを貼り付けます。
<script type="text/discourse-plugin">
api.onPageChange((url, title) => {
// すべての 404 ページをホームページにリダイレクトします
if (url.includes('/404')) {
window.location.href = '/';
}
});
</script>
必要に応じてページ名を調整してください。この古い URL を新しい Discourse URL にリダイレクトするをお読みください。