回答編集履歴
5
WordPressの環境での対処追記
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
たびたびすみません。対処案を追記しました。
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
すみません、回答に誤りがあったので訂正いたします
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
|
-
|
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
誤記等訂正
test
CHANGED
@@ -32,9 +32,9 @@
|
|
32
32
|
|
33
33
|
その状況だとおそらく
|
34
34
|
|
35
|
-
/download/.htaccess よりも**上の**
|
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
|
-
・上位ディレクトリ
|
51
|
+
・上位ディレクトリにある.htaccessの中の、wordpressの置換処理よりも上に書く
|
52
52
|
|
53
53
|
いう対処方法が考えられます。
|
1
質問の追加にともなった追記
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
|
+
いう対処方法が考えられます。
|