回答編集履歴

5

WordPressの環境での対処追記

2018/10/09 02:38

投稿

taka-saan
taka-saan

スコア665

test CHANGED
@@ -47,3 +47,83 @@
47
47
  </IfModule>
48
48
 
49
49
  ```
50
+
51
+ ### WordPressの環境での対処(「ダウンロードページ」が表示されない)
52
+
53
+
54
+
55
+ WordPressの環境では、サイトのトップ(downloadの上)の.htaccessで
56
+
57
+ WordPressの仕組み上必要なmod_rewiteによるURL置換が行われています。
58
+
59
+ それによってdownloadページもdownloadリンクも、
60
+
61
+ 一度サイトトップのindex.phpに転送されるようなイメージで実装されています。
62
+
63
+
64
+
65
+
66
+
67
+ また、mod_rewriteの書き換えを、親ディレクトリとサブディレクトリの両方で行う時、
68
+
69
+ サブディレクトリの書き換え条件にマッチする時は良いのですが、
70
+
71
+ マッチしない時は親ディレクトリの変換ルールを適用せずそこで変換終了してします。
72
+
73
+
74
+
75
+ そのため親ディレクトリに書かれている変換ルールが適用されず、
76
+
77
+ wordpressの仕組み上必要な置換(index.phpへの転送)が行われないため
78
+
79
+ 上手くいきません。
80
+
81
+ (質問者さんの現象としては「ダウンロードページが表示されない」になる)
82
+
83
+
84
+
85
+ この場合の対処としては、2通り
86
+
87
+
88
+
89
+ (1) サブディレクトリの変換ルール内に、親ディレクトリの変換ルールも合わせて記述する。
90
+
91
+
92
+
93
+ (2) サブディレクトリに変換ルールを書かず、親ディレクトリに全ての変換ルールを記述する。
94
+
95
+
96
+
97
+ があります。
98
+
99
+ (1)の対処例として、downloadディレクトリの.htaccessを以下の様にしてみてください。
100
+
101
+
102
+
103
+ ```htaccess
104
+
105
+ <IfModule mod_rewrite.c>
106
+
107
+ RewriteEngine On
108
+
109
+ RewriteCond %{QUERY_STRING} "wpdmdl"
110
+
111
+ RewriteRule ^.*$ - [F,L]
112
+
113
+
114
+
115
+ RewriteCond %{REQUEST_FILENAME} !-f
116
+
117
+ RewriteCond %{REQUEST_FILENAME} !-d
118
+
119
+ RewriteRule . /index.php [L]
120
+
121
+ </IfModule>
122
+
123
+
124
+
125
+ ```
126
+
127
+ 当方テストできるWordPress環境は無いので、
128
+
129
+ 不具合がある場合はご自分で適宜調整をお願いします。

4

たびたびすみません。対処案を追記しました。

2018/10/09 02:38

投稿

taka-saan
taka-saan

スコア665

test CHANGED
@@ -28,4 +28,22 @@
28
28
 
29
29
 
30
30
 
31
- 替案はちっと思いつきません。。
31
+ わりにこれで試してみてもらえないでしうか
32
+
33
+ download/.htaccessの他の記述の後ろに書いて構いません。
34
+
35
+
36
+
37
+ ```
38
+
39
+ <IfModule mod_rewrite.c>
40
+
41
+ RewriteEngine On
42
+
43
+ RewriteCond %{QUERY_STRING} "wpdmdl"
44
+
45
+ RewriteRule ^.*$ - [F,L]
46
+
47
+ </IfModule>
48
+
49
+ ```

3

すみません、回答に誤りがあったので訂正いたします

2018/10/03 08:20

投稿

taka-saan
taka-saan

スコア665

test CHANGED
@@ -12,42 +12,20 @@
12
12
 
13
13
 
14
14
 
15
- ### 質問追加ともなった追記です
15
+ ### 「?wpdmdlXXXX」抑止ついて、QAからの追記です
16
-
17
- すみません、htaccess一般的な話から
18
-
19
- wordpressのご質問に変わったのでカテゴリ違いで不適当な回答になるかもしれませんが
20
-
21
- htaccessの一般的な話として、分かる範囲でお答えします。
22
-
23
-
24
16
 
25
17
  ブラウザから
26
18
 
27
19
  http://サイト/download/パーマリンク名/?wpdmdlXXXX
28
20
 
29
- を**直たたき**でファイルが取得できる状況という前提でお話ししますが、
21
+ を**直たたき**でファイルが取得できる状況という前提でお話しします
30
22
 
31
23
 
32
24
 
33
- 状況だとおそらく
25
+ 「?wpdmdlXXXX」部分はクエリパラメータなので<Files>ディレクティブ
34
26
 
35
- /download/.htaccess よりも**上の**ディレクトリにある.htaccessで既にURIの置き換えが発生していて、
36
-
37
- その置換え結果のURIに「/download/」「?wpdmdl」が**含れていない**状態あると予想されす。
27
+ ではコントロールできませんした。(QAでの私の記載は誤りでした、すみせん)
38
28
 
39
29
 
40
30
 
41
- wordpressおよびダウンロードマネージャがどのようなURI置換を行うか当方では存じませんので、
42
-
43
- お調べになって適切なマッチ条件を記述するか、
44
-
45
- ちょっと乱暴かもしれませんがWPによるURI置換が行われるよりも先に評価される場所に拒否設定を記述する、
46
-
47
- 具体的には、
48
-
49
- ・httpd.confに書く
50
-
51
- ・上位ディレクトリにある.htaccessの中の、wordpressの置換処理よりも上に書く
52
-
53
- う対処方法が考えられ
31
+ 代替案はちょっと思つきせん。。

2

誤記等訂正

2018/10/03 07:51

投稿

taka-saan
taka-saan

スコア665

test CHANGED
@@ -32,9 +32,9 @@
32
32
 
33
33
  その状況だとおそらく
34
34
 
35
- /download/.htaccess よりも**上の**階層にある.htaccessで既にURIの置き換えが発生していて、
35
+ /download/.htaccess よりも**上の**ディレクトリにある.htaccessで既にURIの置き換えが発生していて、
36
36
 
37
- その置き換え結果のURIに「/download/」「?wpdmdl」の両方が**含まれていない**状態であると予想されます。
37
+ その置き換え結果のURIに「/download/」「?wpdmdl」が**含まれていない**状態であると予想されます。
38
38
 
39
39
 
40
40
 
@@ -42,12 +42,12 @@
42
42
 
43
43
  お調べになって適切なマッチ条件を記述するか、
44
44
 
45
- ちょっと乱暴かもしれませんが置換が行われるよりも先に評価される場所に拒否設定を記述する、
45
+ ちょっと乱暴かもしれませんがWPによるURI置換が行われるよりも先に評価される場所に拒否設定を記述する、
46
46
 
47
47
  具体的には、
48
48
 
49
- ・http.confに書く
49
+ ・httpd.confに書く
50
50
 
51
- ・上位ディレクトリ.htaccessのwordpressの置換処理よりも上に書く
51
+ ・上位ディレクトリにある.htaccessの中の、wordpressの置換処理よりも上に書く
52
52
 
53
53
  いう対処方法が考えられます。

1

質問の追加にともなった追記

2018/10/03 03:33

投稿

taka-saan
taka-saan

スコア665

test CHANGED
@@ -9,3 +9,45 @@
9
9
  直リンできてしまったことを確認するとき、どのように確認されましたか?
10
10
 
11
11
  ブラウザのキャッシュに残ったものが表示されてしまっているだけではないでしょうか。
12
+
13
+
14
+
15
+ ### 質問の追加にともなった追記です
16
+
17
+ すみません、htaccess一般的な話から
18
+
19
+ wordpressのご質問に変わったのでカテゴリ違いで不適当な回答になるかもしれませんが
20
+
21
+ htaccessの一般的な話として、分かる範囲でお答えします。
22
+
23
+
24
+
25
+ ブラウザから
26
+
27
+ http://サイト/download/パーマリンク名/?wpdmdlXXXX
28
+
29
+ を**直たたき**でファイルが取得できる状況という前提でお話ししますが、
30
+
31
+
32
+
33
+ その状況だとおそらく
34
+
35
+ /download/.htaccess よりも**上の**階層にある.htaccessで既にURIの置き換えが発生していて、
36
+
37
+ その置き換え結果のURIに「/download/」「?wpdmdl」の両方が**含まれていない**状態であると予想されます。
38
+
39
+
40
+
41
+ wordpressおよびダウンロードマネージャがどのようなURI置換を行うか当方では存じませんので、
42
+
43
+ お調べになって適切なマッチ条件を記述するか、
44
+
45
+ ちょっと乱暴かもしれませんが置換が行われるよりも先に評価される場所に拒否設定を記述する、
46
+
47
+ 具体的には、
48
+
49
+ ・http.confに書く
50
+
51
+ ・上位ディレクトリの.htaccessのwordpressの置換処理よりも上に書く
52
+
53
+ いう対処方法が考えられます。