さくらのVPS CentOS 6.10
Apache/2.2.15
PHP 5.4.45
SSL化でwww無しのリダイレクトを実装。
お世話になります。
間違えて回答受付中のものを[解決済み]にしてしまったので再度投稿いたします。
★こういうリダイレクトがしたい。
全てのアクセス、リンクを辿るアクセス、URL直打ちのアクセスで
https://example.com/
へとリダイレクトしたいです。
http://www.example.com/ ⇒ https://example.com/ 実装されている https://www.example.com/kantou/ ⇒ https://example.com/kantou/ 実装されている https://www.example.com/kantou/shop/n78de36u/ ⇒ 実装されない。詳細は最下部に
★/etc/httpd/conf/httpd.conf 内に記述
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^.*$ https://example.com%{REQUEST_URI} [R=301,L] RewriteCond %{HTTP_HOST} !^example.com$ [NC] RewriteRule ^.*$ https://example.com%{REQUEST_URI} [R=301,L]
★/etc/httpd/conf.d/ssl.conf 内に記述
RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)(/)?$ /var/www/html/List/$1/shop/index.php?unique=$2 [L] ※追記 /etc/httpd/conf/httpd.conf 内に記述したRewrite 設定は、こちらの ssl.conf 内には書いておりません。
★★一部実装されないず期待通りにならない
現状で通常のアクセスで有れば階層下のページでも意図するリダイレクトが実行される。
ただ以下の Rewrit で書き換えられたページだけが、
RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)(/)?$ /var/www/html/List/$1/shop/index.php?unique=$2 [L]
https に wwwあり の直打ちでアクセスすると
https://www.example.com/kantou/shop/n78de36u/
以下のように ?unique=n78de36u の部分が表示されてしまうのです。
https://example.com/kantou/shop/n78de36u/?unique=n78de36u
wwwなしには変換されているので、後方の ?unique=n78de36u の部分が付かないようにしたい。
以上ですが、宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー