最近は生成ツールを使うよりもChatGPTなどにやりたいことを伝えたほうが、より無駄のない記述が可能です。そのほうが記述の説明もしてくれるので理解したうえで設定できます。
HTTPステータスコードを一括で確認できるので設定の確認に便利
ErrorDocument 404 /error/404.html ErrorDocument 500 /error/500.html
404 https://example.com/error/404.html
のように絶対パスにすると、アドレスバーがエラーページに遷移してしまい少し不親切。できれば相対パスにしたい。
すべてのアクセスを固定のURLにリダイレクトさせる
RewriteEngine On
RewriteCond %{HTTP_HOST} ^dora\.nemusg\.com$ [NC]
RewriteRule ^.*$ https://note.nemusg.com/?archive/dora_raid_2023 [R=301,L]
Permanently(永久)に移転するときは301リダイレクトを使う 移転先でもページの階層構造が維持されていることが前提
RewriteCond %{HTTP_HOST} ^(old.nemusg.com)(:80)? [NC]
RewriteRule ^(.#) https://new.nemusg.com/$1 [R=301,L]
これでも同じ動作をする
Redirect permanent / https://new.nemusg.com/
階層構造が維持されておらず、ドメイン全体→1つのページに転送したい場合は下記になる
RedirectMatch 301 (.#) https://new.nemusg.com/
.htaccessが使えない環境ではmetaタグを使う
<meta http-equiv="refresh" content="0;URL='https://new.nemusg.com/'">
NEフラグを追加する
RewriteRule ^(.#) https://new.nemusg.com/#anker [R=301,L,NE]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.nemusg\.com)(:80)? [NC]
RewriteRule ^(.#) https://nemusg.com/$1 [R=301,L]
よりも
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [R=301,L]
のほうが汎用的そう
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?nemusg\.com [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]