質問編集履歴

4

wp-config.phpで行っていた記述の内容を追加

2018/02/06 17:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -247,3 +247,39 @@
247
247
  https://www.example.com/example
248
248
 
249
249
  となっています。
250
+
251
+
252
+
253
+ ### 2018/2/7 AM 2:50頃追記
254
+
255
+
256
+
257
+ 質問投稿前から行っていたことで書き漏らしていましたが、さくらではhttpsからhttpにリダイレクトされる問題があるとのことでした。
258
+
259
+ 参考にしたWebサイト: https://qiita.com/tabimoba/items/64ef60412abe7ad6f0ac
260
+
261
+
262
+
263
+ そのため、上記のWebサイトの記述にならい、 https://www.example.com/example/wp-config.php に、次の記述を追加しています。
264
+
265
+
266
+
267
+ ```PHP
268
+
269
+ if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
270
+
271
+ $_SERVER['HTTPS'] = 'on';
272
+
273
+ $_ENV['HTTPS'] = 'on';
274
+
275
+ $_SERVER['HTTP_HOST'] = 'example.com';
276
+
277
+ $_SERVER['SERVER_NAME'] = 'example.com';
278
+
279
+ $_ENV['HTTP_HOST'] = 'example.com';
280
+
281
+ $_ENV['SERVER_NAME'] = 'example.com';
282
+
283
+ }
284
+
285
+ ```

3

サブディレクトリ yyy の補足を追記

2018/02/06 17:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -221,3 +221,29 @@
221
221
  WordPressのバージョン: 4.9.2
222
222
 
223
223
  Webサイト全体にSSLを使っています
224
+
225
+
226
+
227
+ ### 2018/2/6 AM 11:25頃追記
228
+
229
+
230
+
231
+ 上記の文中にあるyyyについて補足いたします。
232
+
233
+
234
+
235
+ yyyの部分の、実際の文字列は、ドメイン(example.com)のexampleの部分と全く同じ文字列が入ります。
236
+
237
+ example.com自体は例示としてのドメインで、実際にはexampleではなく会社名を表すアルファベットが入ります。そして、その会社名は、ドメイン名の後に続くサブディレクトリ名としても使われています。
238
+
239
+
240
+
241
+ 例えば、WordPressアドレスとして
242
+
243
+ https://www.example.com/yyy
244
+
245
+ と書きましたが、実際のアドレスは(ドメイン部分は例示のためexample.comとしていますが)
246
+
247
+ https://www.example.com/example
248
+
249
+ となっています。

2

投稿冒頭にある誤字の訂正2

2018/02/06 02:33

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -14,186 +14,186 @@
14
14
 
15
15
  サイトアドレス:
16
16
 
17
+ https://example.com
18
+
19
+ **【2018/2/6 AM2:10頃訂正 上記のサイトアドレスが https://www.example.com となっていましたが、正しくは https://example.com でした】**
20
+
21
+
22
+
23
+ 先方からの要望で、wwwつきのURLを指定した場合は、wwwなしのURLにリダイレクトするようにしています(.htaccessの内容は後述します)。例えば、
24
+
25
+
26
+
27
+ https://www.example.com/hoge
28
+
29
+ と指定した場合は
30
+
31
+ https://example.com/hoge
32
+
33
+ となるようにしています。
34
+
35
+
36
+
37
+ Webサイトの表示やリンクは正常で、画像も表示自体は正常です。
38
+
39
+
40
+
41
+ しかし、例えば、
42
+
43
+ https://www.example.com/yyy/wp-content/themes/zzz/image/hoge.png
44
+
45
+ というURLにある画像に対して、<img>のsrc属性に、wwwを抜いた
46
+
47
+ https://example.com/yyy/wp-content/themes/zzz/image/hoge.png
48
+
49
+ というURLを指定すると、画像が表示されません。
50
+
51
+
52
+
53
+ 試しに、wwwなしのURLをブラウザで直接指定すると、画像が表示されないかわりに、トップページ(index.php)にリダイレクトされてしまいました。
54
+
55
+
56
+
57
+ 先方から、wwwなしのURLでも画像が表示されるようにしたいと言われています。どのようにすればよろしいでしょうか。
58
+
59
+
60
+
61
+ ### .htaccessの内容
62
+
63
+
64
+
65
+ まず、ルートディレクトリ
66
+
17
67
  https://www.example.com
18
68
 
69
+ にある .htaccessは次の通りです。
70
+
71
+
72
+
73
+ ```
74
+
75
+ RewriteEngine On
76
+
77
+ RewriteCond %{HTTP_HOST} ^www.example.com$
78
+
19
- **【2018/2/6 AM2:10頃訂正 上記のサイトアドレスが https://www.example.com となっていましたが、正しくは https://example.com でした】**
79
+ RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
80
+
20
-
81
+ ```
21
-
22
-
82
+
83
+
84
+
23
- 先方からの要望でwwwつきのURLを指定した場合は、wwwなしのURLにリダイレクトするようにしています(.htaccessの内容は後述します)。例えば、
85
+ 次にWordPressアドレスである
24
-
25
-
26
-
86
+
27
- https://www.example.com/hoge
87
+ https://www.example.com/yyy
28
-
88
+
29
- と指定した場合
89
+ の .htaccess次の通りです。
90
+
91
+
92
+
30
-
93
+ ```
94
+
95
+ RewriteEngine On
96
+
97
+ RewriteCond %{HTTPS} off
98
+
99
+ RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
100
+
31
- https://example.com/hoge
101
+ RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
102
+
103
+
104
+
32
-
105
+ # BEGIN SAKURA Internet Inc.
106
+
107
+ <IfModule mod_deflate.c>
108
+
109
+ SetOutputFilter DEFLATE
110
+
111
+ AddOutputFilterByType DEFLATE text/css
112
+
113
+ AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
114
+
115
+ </IfModule>
116
+
117
+ <IfModule mod_expires.c>
118
+
119
+ ExpiresActive On
120
+
121
+ <FilesMatch ".(css|js)$">
122
+
123
+ ExpiresDefault "access plus 1 week"
124
+
125
+ </FilesMatch>
126
+
127
+ <FilesMatch ".(gif|jpe?g|png)$">
128
+
129
+ ExpiresDefault "access plus 1 month"
130
+
131
+ </FilesMatch>
132
+
133
+ </IfModule>
134
+
135
+ # END SAKURA Internet Inc.
136
+
137
+
138
+
139
+ # BEGIN WordPress
140
+
141
+ <IfModule mod_rewrite.c>
142
+
143
+ RewriteEngine On
144
+
145
+ RewriteBase /
146
+
147
+ RewriteRule ^index.php$ - [L]
148
+
149
+ RewriteCond %{REQUEST_FILENAME} !-f
150
+
151
+ RewriteCond %{REQUEST_FILENAME} !-d
152
+
153
+ RewriteRule . /index.php [L]
154
+
155
+ </IfModule>
156
+
157
+ # END WordPress
158
+
159
+ ```
160
+
161
+
162
+
33
- なるようにしています。
163
+ ### 試したこ
34
-
35
-
36
-
164
+
165
+
166
+
37
- Webサイト表示やリンクは正常で、画像も表示自体は正常す。
167
+ <img>src属性で、wwwなしのURLある
168
+
38
-
169
+ https://example.com/yyy/wp-content/themes/zzz/image/hoge.png
39
-
40
-
170
+
41
- かし例えば、
171
+ を指定た場合はwwwつきのURLである
42
172
 
43
173
  https://www.example.com/yyy/wp-content/themes/zzz/image/hoge.png
44
174
 
45
- というURLにある画像に対して、<img>のsrc属性に、wwwを抜いた
46
-
47
- https://example.com/yyy/wp-content/themes/zzz/image/hoge.png
48
-
49
- うURLを指定する、画像が表示されせん
175
+ にリダイレクトすれば良のではないか考えした
50
-
51
-
52
-
53
- 試しに、wwwなしのURLをブラウザで直接指定すると、画像が表示されないかわりに、トップページ(index.php)にリダイレクトされてしまいました。
176
+
54
-
55
-
56
-
57
- 先方から、wwwなしのURLでも画像が表示されるようにしたいと言われています。どのようにすればよろしいでしょうか。
177
+
58
-
59
-
60
-
61
- ### .htaccessの内容
178
+
62
-
63
-
64
-
65
- まずルートディレクトリ
179
+ そこで
66
-
180
+
67
- https://www.example.com
181
+ https://www.example.com/yyy
68
-
182
+
69
- にある .htaccess次の通り
183
+ にある .htaccessの記述の冒頭を次のようにしましたが、結果は変化なしした
70
-
71
-
72
-
184
+
185
+
186
+
73
- ```
187
+ ```
74
-
188
+
75
- RewriteEngine On
189
+ RewriteEngine On
190
+
76
-
191
+ RewriteCond %{HTTPS} off
192
+
77
- RewriteCond %{HTTP_HOST} ^www.example.com$
193
+ RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
78
194
 
79
195
  RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
80
196
 
81
- ```
82
-
83
-
84
-
85
- 次に、WordPressアドレスである
86
-
87
- https://www.example.com/yyy
88
-
89
- の .htaccessは次の通りです。
90
-
91
-
92
-
93
- ```
94
-
95
- RewriteEngine On
96
-
97
- RewriteCond %{HTTPS} off
98
-
99
- RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
100
-
101
- RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
102
-
103
-
104
-
105
- # BEGIN SAKURA Internet Inc.
106
-
107
- <IfModule mod_deflate.c>
108
-
109
- SetOutputFilter DEFLATE
110
-
111
- AddOutputFilterByType DEFLATE text/css
112
-
113
- AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
114
-
115
- </IfModule>
116
-
117
- <IfModule mod_expires.c>
118
-
119
- ExpiresActive On
120
-
121
- <FilesMatch ".(css|js)$">
122
-
123
- ExpiresDefault "access plus 1 week"
124
-
125
- </FilesMatch>
126
-
127
- <FilesMatch ".(gif|jpe?g|png)$">
128
-
129
- ExpiresDefault "access plus 1 month"
130
-
131
- </FilesMatch>
132
-
133
- </IfModule>
134
-
135
- # END SAKURA Internet Inc.
136
-
137
-
138
-
139
- # BEGIN WordPress
140
-
141
- <IfModule mod_rewrite.c>
142
-
143
- RewriteEngine On
144
-
145
- RewriteBase /
146
-
147
- RewriteRule ^index.php$ - [L]
148
-
149
- RewriteCond %{REQUEST_FILENAME} !-f
150
-
151
- RewriteCond %{REQUEST_FILENAME} !-d
152
-
153
- RewriteRule . /index.php [L]
154
-
155
- </IfModule>
156
-
157
- # END WordPress
158
-
159
- ```
160
-
161
-
162
-
163
- ### 試したこと
164
-
165
-
166
-
167
- <img>のsrc属性で、wwwなしのURLである
168
-
169
- https://example.com/yyy/wp-content/themes/zzz/image/hoge.png
170
-
171
- を指定した場合は、wwwつきのURLである
172
-
173
- https://www.example.com/yyy/wp-content/themes/zzz/image/hoge.png
174
-
175
- にリダイレクトすれば良いのではないかと考えました。
176
-
177
-
178
-
179
- そこで、
180
-
181
- https://www.example.com/yyy
182
-
183
- にある .htaccessの記述の冒頭を次のようにしましたが、結果は変化なしでした。
184
-
185
-
186
-
187
- ```
188
-
189
- RewriteEngine On
190
-
191
- RewriteCond %{HTTPS} off
192
-
193
- RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
194
-
195
- RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
196
-
197
197
 
198
198
 
199
199
  # 次の2行を追加

1

投稿冒頭にある誤字の訂正

2018/02/05 17:11

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,8 @@
16
16
 
17
17
  https://www.example.com
18
18
 
19
+ **【2018/2/6 AM2:10頃訂正 上記のサイトアドレスが https://www.example.com となっていましたが、正しくは https://example.com でした】**
20
+
19
21
 
20
22
 
21
23
  先方からの要望で、wwwつきのURLを指定した場合は、wwwなしのURLにリダイレクトするようにしています(.htaccessの内容は後述します)。例えば、