回答編集履歴
3
追記: a1\.cgi → http://example\.jp/script/a1\.cgi \(www\. なし\)にリダイレクトする設定
test
CHANGED
@@ -117,3 +117,35 @@
|
|
117
117
|
あとは、Y.H. さんの回答のとおり、デバッグログを調べるといいと思います。
|
118
118
|
|
119
119
|
|
120
|
+
|
121
|
+
**(2016/11/14 17:19) 追記**
|
122
|
+
|
123
|
+
a1.cgi → http://example.jp/script/a1.cgi (www. なし)にリダイレクトする設定。
|
124
|
+
|
125
|
+
```
|
126
|
+
|
127
|
+
RewriteEngine On
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
RewriteCond %{REQUEST_URI} !/(a1|a2)\.cgi$
|
132
|
+
|
133
|
+
RewriteCond %{HTTP_HOST} ^(www\.)?example\.jp [NC]
|
134
|
+
|
135
|
+
RewriteCond %{HTTPS} off
|
136
|
+
|
137
|
+
RewriteRule ^(.*) https://example.jp%{REQUEST_URI} [R,L]
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
RewriteCond %{REQUEST_URI} /(a1|a2)\.cgi$
|
142
|
+
|
143
|
+
RewriteCond %{HTTP_HOST} ^(www\.)?example\.jp [NC]
|
144
|
+
|
145
|
+
RewriteCond %{HTTPS} on
|
146
|
+
|
147
|
+
RewriteRule ^(.*) http://example.jp%{REQUEST_URI} [R,L]
|
148
|
+
|
149
|
+
```
|
150
|
+
|
151
|
+
|
2
追記、example\.jp に統一
test
CHANGED
@@ -22,15 +22,17 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
+
----
|
26
|
+
|
25
27
|
**(2016/11/11 11:58) 追記**
|
26
28
|
|
27
29
|
2つ目のルールで、下記リダイレクトはできていると思います。
|
28
30
|
|
29
31
|
```
|
30
32
|
|
31
|
-
https://www.ex
|
33
|
+
https://www.example.jp/a1.cgi → http://www.example.jp/a1.cgi
|
32
34
|
|
33
|
-
https://ex
|
35
|
+
https://example.jp/a1.cgi → http://www.example.jp/a1.cgi
|
34
36
|
|
35
37
|
```
|
36
38
|
|
@@ -38,7 +40,7 @@
|
|
38
40
|
|
39
41
|
```
|
40
42
|
|
41
|
-
http://ex
|
43
|
+
http://example.jp/a1.cgi → http://www.example.jp/a1.cgi
|
42
44
|
|
43
45
|
```
|
44
46
|
|
@@ -50,10 +52,68 @@
|
|
50
52
|
|
51
53
|
RewriteCond %{REQUEST_URI} ^/(a1|a2)\.cgi$
|
52
54
|
|
53
|
-
RewriteCond %{HTTP_HOST} ^ex
|
55
|
+
RewriteCond %{HTTP_HOST} ^example\.jp [NC]
|
54
56
|
|
55
|
-
RewriteRule ^(.*) http://www.ex
|
57
|
+
RewriteRule ^(.*) http://www.example.jp%{REQUEST_URI} [L]
|
56
58
|
|
57
59
|
```
|
58
60
|
|
59
61
|
|
62
|
+
|
63
|
+
----
|
64
|
+
|
65
|
+
**(2016/11/11 19:01) 追記**
|
66
|
+
|
67
|
+
> https://exsample.jp/a1.cgiとなってしまいます。
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
というのは、https://example.jp/a1.cgi でアクセスしてもそのままでリダイレクトされない(2つ目のルールが効かない)ということですか?
|
72
|
+
|
73
|
+
それとも、http://www.example.jp/a1.cgi でアクセスすると https://example.jp/a1.cgi にリダイレクトされる(1つ目のルールが効いてしまう)ということですか?
|
74
|
+
|
75
|
+
どちらの場合も「RewriteCond %{REQUEST_URI} ...」の条件に合致していないように思います。
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
> a1.cgi(第二階層)
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
の「第二階層」とは、ファイルは (DocumentRoot)/script/a1.cgi にあるということですか?
|
84
|
+
|
85
|
+
よくわかりませんが、以下のように「^」(先頭)という条件を省くとどうでしょうか。
|
86
|
+
|
87
|
+
2つ目、3つ目のルールをまとめました。
|
88
|
+
|
89
|
+
```
|
90
|
+
|
91
|
+
RewriteEngine On
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
RewriteCond %{REQUEST_URI} !/(a1|a2)\.cgi$
|
96
|
+
|
97
|
+
RewriteCond %{HTTP_HOST} ^(www\.)?example\.jp [NC]
|
98
|
+
|
99
|
+
RewriteCond %{HTTPS} off
|
100
|
+
|
101
|
+
RewriteRule ^(.*) https://example.jp%{REQUEST_URI} [R,L]
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
RewriteCond %{REQUEST_URI} /(a1|a2)\.cgi$
|
106
|
+
|
107
|
+
RewriteCond %{HTTP_HOST} ^(www\.)?example\.jp [NC]
|
108
|
+
|
109
|
+
RewriteCond %{HTTPS} on [OR]
|
110
|
+
|
111
|
+
RewriteCond %{HTTP_HOST} ^example\.jp [NC]
|
112
|
+
|
113
|
+
RewriteRule ^(.*) http://www.example.jp%{REQUEST_URI} [R,L]
|
114
|
+
|
115
|
+
```
|
116
|
+
|
117
|
+
あとは、Y.H. さんの回答のとおり、デバッグログを調べるといいと思います。
|
118
|
+
|
119
|
+
|
1
追記
test
CHANGED
@@ -19,3 +19,41 @@
|
|
19
19
|
RewriteCond %{REQUEST_URI} ^/(a1|a2)\.cgi$
|
20
20
|
|
21
21
|
```
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
**(2016/11/11 11:58) 追記**
|
26
|
+
|
27
|
+
2つ目のルールで、下記リダイレクトはできていると思います。
|
28
|
+
|
29
|
+
```
|
30
|
+
|
31
|
+
https://www.exsample.jp/a1.cgi → http://www.exsample.jp/a1.cgi
|
32
|
+
|
33
|
+
https://exsample.jp/a1.cgi → http://www.exsample.jp/a1.cgi
|
34
|
+
|
35
|
+
```
|
36
|
+
|
37
|
+
さらに、
|
38
|
+
|
39
|
+
```
|
40
|
+
|
41
|
+
http://exsample.jp/a1.cgi → http://www.exsample.jp/a1.cgi
|
42
|
+
|
43
|
+
```
|
44
|
+
|
45
|
+
としたいのでしょうか?
|
46
|
+
|
47
|
+
もし、そうれあれば、以下のルールを追加します。
|
48
|
+
|
49
|
+
```
|
50
|
+
|
51
|
+
RewriteCond %{REQUEST_URI} ^/(a1|a2)\.cgi$
|
52
|
+
|
53
|
+
RewriteCond %{HTTP_HOST} ^exsample\.jp [NC]
|
54
|
+
|
55
|
+
RewriteRule ^(.*) http://www.exsample.jp%{REQUEST_URI} [L]
|
56
|
+
|
57
|
+
```
|
58
|
+
|
59
|
+
|