htaccessに最近よく記載しているもの
前提として、 subdomain.asairo.com の場合
(subdomainというサブドメインを使用してると仮定)
本ドメインURLの場合は subcomain. のところを削除でOK(記述によっては \ も合わせて調整してください)
常時SSL化するための記述。
httpにアクセスしてもhttpsへリダイレクト表示される。
# WordPressを常時SSL化、かつwww.無しドメインでのアクセスに統一
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.subdomain\.asairo\.com) [NC]
RewriteRule ^(.*) https://subdomain.asairo.com/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
ログインURLを変更する
https://subdomain.asairo.com/wp-login.php
が通常のログインURLのところを
https://subdomain.asairo.com/wp-login.php?ここに文字列
に変更することができる
例:
https://subdomain.asairo.com/wp-login/?abcde123
# ログインURL変更
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^enter/?$ /wp-login.php?ここに文字列 [R,L]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^dashboard/?$ /not_found [R,L]
RewriteRule ^dashboard/?$ /not_found [R,L]
RewriteRule ^register/?$ /wp-login.php?ここに文字列&action=register [R,L]
RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php
RewriteCond %{HTTP_REFERER} !^(.*)https://subdomain.asairo.com/wp-admin
RewriteCond %{HTTP_REFERER} !^(.*)https://subdomain.asairo.com/wp-login\.php
RewriteCond %{HTTP_REFERER} !^(.*)https://subdomain.asairo.com/enter
RewriteCond %{HTTP_REFERER} !^(.*)https://subdomain.asairo.com/dashboard
RewriteCond %{HTTP_REFERER} !^(.*)https://subdomain.asairo.com/register
RewriteCond %{QUERY_STRING} !^ここに文字列
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=rp
RewriteCond %{QUERY_STRING} !^action=register
RewriteCond %{QUERY_STRING} !^action=postpass
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L]
RewriteCond %{QUERY_STRING} ^loggedout=true
RewriteRule ^.*$ /wp-login.php?ここに文字列 [R,L]
</IfModule>
wordpressでSVGを表示させるためのもの
# SVGを表示
# AddType image/svg+xml .svg .svgz
要望によりキャッシュさせたくない場合は下記を記述する
# キャッシュさせない
<Files ~ "\.(html|php|jpe?g|gif|png|css|js|pdf)$">
Header add Pragma "no-cache"
Header set Cache-Control no-cache
</Files>
開発環境など、ベーシック認証を使う場合
AuthUserFile のフルパスはサーバーによって異なるので次項の方法で調べる。
# htpassword 設定
<?php /* AuthUserFile "/home/baphnkhj/public_html/subdomain.asairo.com/.htpasswd" */ ?>
AuthUserFile "/home/sample/public_html/subdomain.asairo.com/.htpasswd"
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
フルパスの調べ方
fullpath.phpというファイルを作成。
下記の内容を記述して保存
<?php
echo __FILE__;
?>
ルートディレクトリにfullpath.phpをアップロード。
ブラウザで fullpath.phpを開くと、画面上にURLが表示されるので
htaccessのAuthUserFile にコピペする
htpasswdの設定
「htpasswd」と検索すればどこかしらの作成ページがでてくるので、その通りに作成して
htaccessと同じディレクトリにアップする。
正しく機能すればBASIC認証でユーザー、パスワードの入力後にページが表示される。
繰り返し入力欄が求められる場合はどこかの手順が間違えてる可能性がある