質問編集履歴
5
問題点の記述の変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,23 +3,24 @@
|
|
3
3
|
あるサイトでURL正規化(wwwあり→wwwなし)と常時SSL化(http://→https://)を行うために書籍等を参考に.htaccess内でrewriteをかけています。
|
4
4
|
|
5
5
|
サーバ構造は以下です。
|
6
|
-
DocumentRoot
|
6
|
+
- DocumentRoot
|
7
|
-
|
7
|
+
- ┣/script(第一階層)
|
8
|
-
|
8
|
+
- ┣a1.cgi(第二階層)
|
9
|
-
|
9
|
+
- ┣a2.cgi(第二階層)
|
10
|
-
|
10
|
+
- ┣XX.cgi(第二階層)
|
11
11
|
|
12
|
+
実現したいのは、当サイトに下記の条件1~4でアクセスした際に下記の結果A.およびB.に書き換えるということです。
|
12
13
|
|
13
|
-
|
14
|
+
条件1.http://~でアクセス
|
14
|
-
|
15
|
+
条件2.https://~でアクセス
|
15
|
-
2.https://example.jp/script/XX.cgiXX.cgiにアクセスするときはhttps://example.jp/script/XX.cgiに(何もしない)
|
16
|
-
3.http://www.
|
16
|
+
条件3.http://www.~でアクセス
|
17
|
-
4.https://www.
|
17
|
+
条件4.https://www.~でアクセス
|
18
|
-
5.ただしa1.cgiおよびa2.cgiにアクセスするときはにはhttp://www.example.jp/script/a1.cgiまたはhttp://www.example.jp/script/a2.cgiに
|
19
|
-
書き換えるということです。
|
20
18
|
|
19
|
+
結果A.XX.cgiにアクセスするときは必ずhttps://~に書き換え
|
20
|
+
結果B.a1.cgiまたはa2.cgiにアクセスするときは必ずhttp://www.~に書き換え
|
21
|
+
|
21
22
|
###発生している問題・エラーメッセージ
|
22
|
-
まず、下記コードの記述1を設定して上記1~
|
23
|
+
まず、下記コードの記述1を設定してXX.cgiに対して上記1~4の条件を実施してみると、期待通りに結果A.のhttps://~に書き換えられますが、a1.cgiおよびa2.cgiに対して上記1~4の条件を実施してみると、結果B.ではなくwww.無しのhttps://~(つまり結果A.と同じ)に書き換えられてしまいます。
|
23
24
|
そこで記述2を追記しましたが状況は変わりません。
|
24
25
|
```
|
25
26
|
|
4
誤表記の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
書き換えるということです。
|
20
20
|
|
21
21
|
###発生している問題・エラーメッセージ
|
22
|
-
まず、下記コードの記述1を設定して上記1~5を実施してみると、1~4は期待通りに動きますが5がwww.無しの
|
22
|
+
まず、下記コードの記述1を設定して上記1~5を実施してみると、1~4は期待通りに動きますが5がwww.無しのhttps://example.jp/script/a1.cgiになってしまいます。
|
23
23
|
そこで記述2を追記しましたが状況は変わりません。
|
24
24
|
```
|
25
25
|
|
3
実現したい形の具体化とレンタルサーバ使用の明言
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,15 +11,15 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
実現したいのは、当サイトにアクセスした際に
|
14
|
-
1.http://
|
14
|
+
1.http://example.jp/script/XX.cgiにアクセスするときはhttps://example.jp/script/XX.cgiに
|
15
|
-
2.https://
|
15
|
+
2.https://example.jp/script/XX.cgiXX.cgiにアクセスするときはhttps://example.jp/script/XX.cgiに(何もしない)
|
16
|
-
3.http://www.
|
16
|
+
3.http://www.example.jp/script/XX.cgiにアクセスするときはhttps://example.jp/script/XX.cgiに
|
17
|
-
4.https://www.
|
17
|
+
4.https://www.example.jp/script/XX.cgiにアクセスするときはhttps://example.jp/script/XX.cgiに
|
18
|
-
5.ただしa1.cgiおよびa2.cgiにアクセスするときはにはhttp://www.
|
18
|
+
5.ただしa1.cgiおよびa2.cgiにアクセスするときはにはhttp://www.example.jp/script/a1.cgiまたはhttp://www.example.jp/script/a2.cgiに
|
19
19
|
書き換えるということです。
|
20
20
|
|
21
21
|
###発生している問題・エラーメッセージ
|
22
|
-
まず、下記コードの記述1を設定して上記1~5を実施してみると、1~4は期待通りに動きますが5がhttp://
|
22
|
+
まず、下記コードの記述1を設定して上記1~5を実施してみると、1~4は期待通りに動きますが5がwww.無しのhttp://www.example.jp/script/a1.cgiになってしまいます。
|
23
23
|
そこで記述2を追記しましたが状況は変わりません。
|
24
24
|
```
|
25
25
|
|
@@ -48,4 +48,4 @@
|
|
48
48
|
FTPクライアント:ffftp Version 1.98g2
|
49
49
|
サーバOS :CentOS 6.7
|
50
50
|
httpサーバ :Apache 2.2.5
|
51
|
-
※サーバはスピーバーのVPSサーバを使用しています。
|
51
|
+
※サーバはスピーバーのレンタルVPSサーバを使用しています。
|
2
レンタルサーバ使用の件追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,4 +47,5 @@
|
|
47
47
|
エディター :TeraPad Version 1.09
|
48
48
|
FTPクライアント:ffftp Version 1.98g2
|
49
49
|
サーバOS :CentOS 6.7
|
50
|
-
httpサーバ :Apache 2.2.5
|
50
|
+
httpサーバ :Apache 2.2.5
|
51
|
+
※サーバはスピーバーのVPSサーバを使用しています。
|
1
exampleとexsampleが混在していましたがexampleが正しいので修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -29,15 +29,15 @@
|
|
29
29
|
|
30
30
|
#記述1
|
31
31
|
RewriteCond %{REQUEST_URI} !^(a1|a2)\.cgi$
|
32
|
-
RewriteCond %{HTTP_HOST} ^(www\.)?
|
32
|
+
RewriteCond %{HTTP_HOST} ^(www\.)?example\.jp [NC]
|
33
33
|
RewriteCond %{HTTPS} off
|
34
34
|
RewriteRule ^(.*) https://example.jp%{REQUEST_URI} [L]
|
35
35
|
|
36
36
|
#記述2
|
37
37
|
RewriteCond %{REQUEST_URI} ^(a1|a2)\.cgi$
|
38
|
-
RewriteCond %{HTTP_HOST} ^(www\.)?
|
38
|
+
RewriteCond %{HTTP_HOST} ^(www\.)?example\.jp [NC]
|
39
39
|
RewriteCond %{HTTPS} on
|
40
|
-
RewriteRule ^(.*) http://www.
|
40
|
+
RewriteRule ^(.*) http://www.example.jp%{REQUEST_URI} [L]
|
41
41
|
```
|
42
42
|
|
43
43
|
###試したこと
|