「表示されてしまいます」とおっしゃっているのは、
htaccessを変更しても「gifが直リンできてしまいました」という意味ですよね?
その設定で上手く出来るはずです。
直リンできてしまったことを確認するとき、どのように確認されましたか?
ブラウザのキャッシュに残ったものが表示されてしまっているだけではないでしょうか。
「?wpdmdlXXXX」の抑止について、QAからの追記です
ブラウザから
http://サイト/download/パーマリンク名/?wpdmdlXXXX
を直たたきでファイルが取得できる状況という前提でお話しします。
「?wpdmdlXXXX」の部分はクエリパラメータなので<Files>ディレクティブ
ではコントロールできませんでした。(QAでの私の記載は誤りでした、すみません)
代わりにこれで試してみてもらえないでしょうか。
download/.htaccessの他の記述の後ろに書いて構いません。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} "wpdmdl"
RewriteRule ^.*$ - [F,L]
</IfModule>
WordPressの環境での対処(「ダウンロードページ」が表示されない)
WordPressの環境では、サイトのトップ(downloadの上)の.htaccessで
WordPressの仕組み上必要なmod_rewiteによるURL置換が行われています。
それによってdownloadページもdownloadリンクも、
一度サイトトップのindex.phpに転送されるようなイメージで実装されています。
また、mod_rewriteの書き換えを、親ディレクトリとサブディレクトリの両方で行う時、
サブディレクトリの書き換え条件にマッチする時は良いのですが、
マッチしない時は親ディレクトリの変換ルールを適用せずそこで変換終了してします。
そのため親ディレクトリに書かれている変換ルールが適用されず、
wordpressの仕組み上必要な置換(index.phpへの転送)が行われないため
上手くいきません。
(質問者さんの現象としては「ダウンロードページが表示されない」になる)
この場合の対処としては、2通り
(1) サブディレクトリの変換ルール内に、親ディレクトリの変換ルールも合わせて記述する。
(2) サブディレクトリに変換ルールを書かず、親ディレクトリに全ての変換ルールを記述する。
があります。
(1)の対処例として、downloadディレクトリの.htaccessを以下の様にしてみてください。
htaccess
1<IfModule mod_rewrite.c>
2RewriteEngine On
3RewriteCond %{QUERY_STRING} "wpdmdl"
4RewriteRule ^.*$ - [F,L]
5
6RewriteCond %{REQUEST_FILENAME} !-f
7RewriteCond %{REQUEST_FILENAME} !-d
8RewriteRule . /index.php [L]
9</IfModule>
10
当方テストできるWordPress環境は無いので、
不具合がある場合はご自分で適宜調整をお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/01 15:38
2018/10/02 01:10
2018/10/02 06:09
2018/10/02 09:17
2018/10/02 16:35
2018/10/03 02:50
2018/10/03 07:53
2018/10/03 08:21
2018/10/03 08:23
2018/10/04 11:54
2018/10/04 13:49
2018/10/04 16:46
2018/10/05 02:44
2018/10/05 11:32
2018/10/06 16:42 編集
2018/10/07 00:34
2018/10/07 04:35
2018/10/09 02:40
2018/10/09 10:02