質問編集履歴

10

追記しました

2018/09/19 11:54

投稿

pro88
pro88

スコア17

test CHANGED
File without changes
test CHANGED
@@ -219,3 +219,13 @@
219
219
 
220
220
 
221
221
  以上ですが、宜しくお願いいたします。
222
+
223
+
224
+
225
+ ※間違えて【解決済み】としてしまったために以下で分かりやすい質問にして再度投稿しました。
226
+
227
+ https://teratail.com/questions/147438
228
+
229
+
230
+
231
+ 宜しくお願いいたします。

9

追記

2018/09/19 11:54

投稿

pro88
pro88

スコア17

test CHANGED
File without changes
test CHANGED
@@ -135,3 +135,87 @@
135
135
  質問文が長く分かりにくかったのではと思い少し短く修正いたしました。
136
136
 
137
137
  お力をお貸しいただけますよう宜しくお願いいたします。
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+ ≪質問の追記をさせていただきます≫
146
+
147
+ ★こういうリダイレクトがしたい。
148
+
149
+ 全てのアクセス、リンクを辿るアクセス、URL直打ちのアクセスで
150
+
151
+ https://example.com/
152
+
153
+ へとリダイレクトしたいです。
154
+
155
+ ```
156
+
157
+ http://www.example.com/ ⇒ https://example.com/ 実装されている
158
+
159
+ https://www.example.com/kantou/ ⇒ https://example.com/kantou/ 実装されている
160
+
161
+ https://www.example.com/kantou/shop/n78de36u/ ⇒ 実装されない。詳細は最下部に
162
+
163
+ ```
164
+
165
+ ★/etc/httpd/conf/httpd.conf 内に記述
166
+
167
+ ```
168
+
169
+ RewriteEngine on
170
+
171
+ RewriteCond %{HTTPS} off
172
+
173
+ RewriteRule ^.*$ https://example.com%{REQUEST_URI} [R=301,L]
174
+
175
+ RewriteCond %{HTTP_HOST} !^example.com$ [NC]
176
+
177
+ RewriteRule ^.*$ https://example.com%{REQUEST_URI} [R=301,L]
178
+
179
+ ```
180
+
181
+ ★/etc/httpd/conf.d/ssl.conf 内に記述
182
+
183
+ ```
184
+
185
+ RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)(/)?$ /var/www/html/List/$1/shop/index.php?unique=$2 [L]
186
+
187
+ ```
188
+
189
+ ★一部実装されない内容
190
+
191
+ 現状で通常のアクセスで有れば階層下のページでも意図するリダイレクトが実行される。
192
+
193
+ ただ以下の Rewrit で書き換えられたページだけが、
194
+
195
+ ```
196
+
197
+ RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)(/)?$ /var/www/html/List/$1/shop/index.php?unique=$2 [L]
198
+
199
+ ```
200
+
201
+ https に wwwあり の直打ちでアクセスすると
202
+
203
+ ```
204
+
205
+ https://www.example.com/kantou/shop/n78de36u/
206
+
207
+ ```
208
+
209
+ 以下のように ?unique=n78de36u の部分が表示されてしまうのです。
210
+
211
+ ```
212
+
213
+ https://example.com/kantou/shop/n78de36u/?unique=n78de36u
214
+
215
+ ```
216
+
217
+ wwwなしには変換されているので、後方の ?unique=n78de36u の部分が付かないようにしたい。
218
+
219
+
220
+
221
+ 以上ですが、宜しくお願いいたします。

8

誤字

2018/09/19 08:46

投稿

pro88
pro88

スコア17

test CHANGED
File without changes
test CHANGED
@@ -120,7 +120,7 @@
120
120
 
121
121
  以上解決したい問題は
122
122
 
123
- 以下のようにhttps で www をつけた状態でアクセス場合
123
+ 以下のようにhttps で www をつけた状態
124
124
 
125
125
  ```
126
126
 
@@ -128,7 +128,7 @@
128
128
 
129
129
  ```
130
130
 
131
- 直打ちでアクセスして https のwwwなし の ?unique=n78de36u が付かない状態に出来ないでしょうか?
131
+ 直打ちでアクセスして https のwwwなし の ?unique=n78de36u が付かない状態に出来ないでしょうか?
132
132
 
133
133
 
134
134
 

7

コード修正

2018/09/16 12:17

投稿

pro88
pro88

スコア17

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  その後、完全にSSL化ですべてのページが https でアクセス表示可能になったかの確認作業をしておりましたところ
28
28
 
29
- Rewriteにより書き換えられたページのURLがある直打ちではおかしい表示になってしまうことに気付きました。
29
+ Rewrite により書き換えられたページの URL がある直打ちではおかしい表示になってしまうことに気付きました。
30
30
 
31
31
 
32
32
 
@@ -40,7 +40,7 @@
40
40
 
41
41
  ```
42
42
 
43
- ※「List」というディレクトリはAliasで隠れる部分です。
43
+ ※「List」というディレクトリは Alias で隠れる部分です。
44
44
 
45
45
 
46
46
 
@@ -52,13 +52,7 @@
52
52
 
53
53
  ```
54
54
 
55
- SSL化ジ確認試したものが以下のURL直打ちになります。
55
+ それを以下4つパタで直打ちます。
56
-
57
- ```
58
-
59
- 正しいURL: https://example.com/kantou/shop/n78de36u/
60
-
61
- ```
62
56
 
63
57
  ```
64
58
 
@@ -72,7 +66,7 @@
72
66
 
73
67
  ```
74
68
 
75
- 上記4つのパターンの直打ちでは正しいURLで表示されページも正常ですが以下のパターンで問題が出ます。
69
+ 上記4つのパターンの直打ちでは正しい URL で表示されページも正常ですが以下のパターンだけで問題が出ます。
76
70
 
77
71
  ```
78
72
 
@@ -92,17 +86,17 @@
92
86
 
93
87
  一部書き換えられずに ?unique=n78de36u の部分が表示されてしまうのです。
94
88
 
95
- この時ページは正常に表示されており、URLだけが一部書き換えられないとなってしまいます。
89
+ この時ページは正常に表示されており、URL だけが一部書き換えられないとなってしまいます。
96
90
 
97
91
 
98
92
 
99
- 上記のRewriteRuleは前回の質問で解決した
93
+ 上記の RewriteRule は前回の質問で解決した
100
94
 
101
95
  /etc/httpd/conf.d/ssl.conf の
102
96
 
103
97
  <VirtualHost _default_:443> 内に記述しています。
104
98
 
105
- ちなみに wwwなし で https での Rewriteは
99
+ ちなみに wwwなし で https での Rewrite
106
100
 
107
101
  /etc/httpd/conf/httpd.conf 内に以下の記述です。
108
102
 

6

コード修正

2018/09/16 08:33

投稿

pro88
pro88

スコア17

test CHANGED
File without changes
test CHANGED
@@ -34,9 +34,9 @@
34
34
 
35
35
  ```
36
36
 
37
- RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)/$ /var/www/html/List/$1/shop/index.php?unique=$2 [L]
37
+ RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)/$ /var/www/html/List/$1/shop/index.php?unique=$2 [L]
38
38
 
39
- RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)$ /var/www/html/List/$1/shop/index.php?unique=$2 [L]
39
+ RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)$ /var/www/html/List/$1/shop/index.php?unique=$2 [L]
40
40
 
41
41
  ```
42
42
 
@@ -46,15 +46,19 @@
46
46
 
47
47
  上記の Rewrite で以下の URL のページが表示されます。
48
48
 
49
+ ```
50
+
49
51
  https://example.com/kantou/shop/n78de36u/
50
52
 
51
-
53
+ ```
52
54
 
53
55
  SSL化のページ確認で試したものが以下のURL直打ちになります。
54
56
 
55
-
57
+ ```
56
58
 
57
59
  正しいURL: https://example.com/kantou/shop/n78de36u/
60
+
61
+ ```
58
62
 
59
63
  ```
60
64
 
@@ -70,11 +74,19 @@
70
74
 
71
75
  上記4つのパターンの直打ちでは正しいURLで表示されるページも正常ですが以下のパターンで問題が出ます。
72
76
 
77
+ ```
78
+
73
79
  https://www.example.com/kantou/shop/n78de36u/
80
+
81
+ ```
74
82
 
75
83
  この https に wwwあり の直打ちでアクセスすると
76
84
 
85
+ ```
86
+
77
87
  https://example.com/kantou/shop/n78de36u/?unique=n78de36u
88
+
89
+ ```
78
90
 
79
91
  このように wwwなし にはなってスラッシュ区切りの書き換えもできているのですが
80
92
 
@@ -116,7 +128,11 @@
116
128
 
117
129
  以下のようにhttps で www をつけた状態でアクセス場合
118
130
 
131
+ ```
132
+
119
133
  https://www.example.com/kantou/shop/n78de36u/
134
+
135
+ ```
120
136
 
121
137
  で直打ちでアクセスして https のwwwなし の ?unique=n78de36u が付かない状態に出来ないでしょうか?
122
138
 

5

コード修正

2018/09/16 08:18

投稿

pro88
pro88

スコア17

test CHANGED
File without changes
test CHANGED
@@ -56,6 +56,8 @@
56
56
 
57
57
  正しいURL: https://example.com/kantou/shop/n78de36u/
58
58
 
59
+ ```
60
+
59
61
  example.com/kantou/shop/n78de36u/
60
62
 
61
63
  http://example.com/kantou/shop/n78de36u/
@@ -64,7 +66,7 @@
64
66
 
65
67
  http://www.example.com/kantou/shop/n78de36u/
66
68
 
67
-
69
+ ```
68
70
 
69
71
  上記4つのパターンの直打ちでは正しいURLで表示されるページも正常ですが以下のパターンで問題が出ます。
70
72
 
@@ -92,7 +94,7 @@
92
94
 
93
95
  /etc/httpd/conf/httpd.conf 内に以下の記述です。
94
96
 
95
-
97
+ ```
96
98
 
97
99
  RewriteEngine on
98
100
 
@@ -104,7 +106,7 @@
104
106
 
105
107
  RewriteRule ^.*$ https://example.com%{REQUEST_URI} [R=301,L]
106
108
 
107
-
109
+ ```
108
110
 
109
111
  上記となります。
110
112
 

4

コード修正

2018/09/16 08:07

投稿

pro88
pro88

スコア17

test CHANGED
File without changes
test CHANGED
@@ -32,9 +32,13 @@
32
32
 
33
33
  以下の書き換えで
34
34
 
35
+ ```
36
+
35
37
  RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)/$ /var/www/html/List/$1/shop/index.php?unique=$2 [L]
36
38
 
37
39
  RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)$ /var/www/html/List/$1/shop/index.php?unique=$2 [L]
40
+
41
+ ```
38
42
 
39
43
  ※「List」というディレクトリはAliasで隠れる部分です。
40
44
 

3

長かった質問文を少し短く分かりやすいようにしました。

2018/09/16 08:03

投稿

pro88
pro88

スコア17

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
 
33
- 場合
33
+ 以下書き換えで
34
34
 
35
35
  RewriteRule ^/([0-9A-Za-z]+)/shop/([0-9A-Za-z]+)/$ /var/www/html/List/$1/shop/index.php?unique=$2 [L]
36
36
 
@@ -46,29 +46,11 @@
46
46
 
47
47
 
48
48
 
49
- ②の場合
50
-
51
- RewriteRule ^/([0-9A-Za-z]+)/cate/([0-9A-Za-z]+)/$ /var/www/html/List/$1/cate/index.php?unique=$2 [QSA,L]
52
-
53
- RewriteRule ^/([0-9A-Za-z]+)/cate/([0-9A-Za-z]+)$ /var/www/html/List/$1/cate/index.php?unique=$2 [QSA,L]
54
-
55
- ※「List」というディレクトリはAliasで隠れる部分です。
56
-
57
-
58
-
59
- 上記の Rewrite で以下の URL のページが表示されます。
60
-
61
- https://example.com/kantou/cate/n87qh69e/
62
-
63
-
64
-
65
-
66
-
67
49
  SSL化のページ確認で試したものが以下のURL直打ちになります。
68
50
 
69
51
 
70
52
 
71
- ①の場合正しいURL: https://example.com/kantou/shop/n78de36u/
53
+ 正しいURL: https://example.com/kantou/shop/n78de36u/
72
54
 
73
55
  example.com/kantou/shop/n78de36u/
74
56
 
@@ -84,51 +66,25 @@
84
66
 
85
67
  https://www.example.com/kantou/shop/n78de36u/
86
68
 
87
- この直打ちアクセスでは
69
+ この https に wwwあり の直打ちアクセスすると
88
70
 
89
71
  https://example.com/kantou/shop/n78de36u/?unique=n78de36u
90
72
 
91
- このようにwwwなしにはなってスラッシュ区切りの書き換えもできているのですが
73
+ このように wwwなし にはなってスラッシュ区切りの書き換えもできているのですが
92
74
 
93
- 一部書き換えられずに?unique=n78de36uの部分が表示されてしまうのです。
75
+ 一部書き換えられずに ?unique=n78de36u の部分が表示されてしまうのです。
94
76
 
95
77
  この時ページは正常に表示されており、URLだけが一部書き換えられないとなってしまいます。
96
78
 
97
79
 
98
80
 
99
- 場合も同様ですが正しいURL: https://example.com/kantou/cate/n87qh69e/
81
+ 上記のRewriteRuleは前回の質問で解決した
100
82
 
101
- example.com/kantou/cate/n87qh69e/
83
+ /etc/httpd/conf.d/ssl.conf の
102
84
 
103
- http://example.com/kantou/cate/n87qh69e/
85
+ <VirtualHost _default_:443> 内に記述しています。
104
86
 
105
- www.example.com/kantou/cate/n87qh69e/
106
-
107
- http://www.example.com/kantou/cate/n87qh69e/
108
-
109
-
110
-
111
- 上記4つのパターンの直打ちでは正しいURLで表示されるページも正常ですが以下のパターンで問題が出ます。
112
-
113
- https://www.example.com/kantou/cate/n87qh69e/
114
-
115
- この直打ちのアクセスでは
116
-
117
- https://example.com/kantou/cate/n87qh69e/?unique=n87qh69e
118
-
119
-
120
-
121
- このように①の場合と同じようにwwwなしにはなりますが、?unique=n87qh69eが表示されてしまいます。
122
-
123
-
124
-
125
- いずれのRewriteRuleも前回の質問で解決した
126
-
127
- /etc/httpd/conf.d/ssl.conf の <VirtualHost _default_:443> 内に
128
-
129
- 記述しています。
130
-
131
- ちなみにwwwなしでhttpsでのRewriteは
87
+ ちなみに wwwなし https での Rewriteは
132
88
 
133
89
  /etc/httpd/conf/httpd.conf 内に以下の記述です。
134
90
 
@@ -152,28 +108,14 @@
152
108
 
153
109
  以上解決したい問題は
154
110
 
155
- ①の場合
156
-
157
- https://example.com/kantou/shop/n78de36u/
158
-
159
- にwwwをつけ
111
+ 以下のようhttps で www をつけた状態でアクセス場合
160
112
 
161
113
  https://www.example.com/kantou/shop/n78de36u/
162
114
 
163
- で直打ちでアクセスしてhttpsのwwwなしの?unique=n78de36uが付かない状態に出来ないでしょうか?
115
+ で直打ちでアクセスして https のwwwなし ?unique=n78de36u が付かない状態に出来ないでしょうか?
164
116
 
165
117
 
166
118
 
167
- 場合
119
+ 質問文が長く分かりにくかったではと思い少し短く修正いたしました。
168
120
 
169
- https://example.com/kantou/cate/n87qh69e/
170
-
171
- にwwwをつけて
172
-
173
- https://www.example.com/kantou/cate/n87qh69e/
174
-
175
- で直打ちでアクセスしてhttpsのwwwなしの?unique=n87qh69eが付かない状態に出来ないでしょうか?
176
-
177
-
178
-
179
- 以上長々となりましたがお力をお貸しいただけますよう宜しくお願いいたします。
121
+ お力をお貸しいただけますよう宜しくお願いいたします。

2

書式の修正

2018/09/15 12:48

投稿

pro88
pro88

スコア17

test CHANGED
File without changes
test CHANGED
@@ -122,9 +122,15 @@
122
122
 
123
123
 
124
124
 
125
- いずれのRewriteRuleも前回の質問で解決した /etc/httpd/conf.d/ssl.conf の <VirtualHost _default_:443> 内に記述しています。
125
+ いずれのRewriteRuleも前回の質問で解決した
126
126
 
127
+ /etc/httpd/conf.d/ssl.conf の <VirtualHost _default_:443> 内に
128
+
129
+ 記述しています。
130
+
131
+ ちなみにwwwなしでhttpsでのRewriteは
132
+
127
- ちなみにwwwなしでhttpsでのRewriteは /etc/httpd/conf/httpd.conf 内に以下の記述です。
133
+ /etc/httpd/conf/httpd.conf 内に以下の記述です。
128
134
 
129
135
 
130
136
 

1

誤字

2018/09/14 14:44

投稿

pro88
pro88

スコア17

test CHANGED
File without changes
test CHANGED
@@ -86,7 +86,7 @@
86
86
 
87
87
  この直打ちのアクセスでは
88
88
 
89
- https://www.example.com/kantou/shop/n78de36u/?unique=n78de36u
89
+ https://example.com/kantou/shop/n78de36u/?unique=n78de36u
90
90
 
91
91
  このようにwwwなしにはなってスラッシュ区切りの書き換えもできているのですが
92
92