.htaccessが見えない場合の対処|FFFTPとコマンドプロンプト
先日遅ればせながら駅前の日本生命札幌ビルへ行ったフジカワです、こんにちは。
ゴディバのチョコレートリキサーがあったので嫁に「寒い」と言われるのを覚悟の上で「長州力さー」とつぶやきました。すると嫁はすかさず「竹内力さー」って被せてきました。
僕に引っ張られる形でだんだん残念な感じになってきてうれしい限りです。
FFFTPで.htaccessが見えない
さて、僕は普段のFTPクライアントとしてFFFTPを使っているのだけど、接続先によって.htaccessなどの「.」から始まるファイルが見えなくなるケースがあります。
半年に一回程度で必要になる作業なのでいつも忘れてググるんだけど、さすがにめんどくさくなったのでまとめておきます。
方法その1(僕は上手くいかんかった)
Googleで検索すると上位のほうに、「FFFTP側の設定を変えると見えるようになるよ」というような内容で、以下のような方法が数多く紹介されています。
手順1.
ホスト一覧 > 該当ホストの「設定変更」 > 「高度」タブ > 「LISTコマンドでファイル一覧を取得(L)」のチェックをはずす
手順2.
同じく「高度」タブの「NLSTファイル名/オプション」を-alLにしておく
手順3.
メニュー「表示」 > 「.で始まるファイルの表示(D)」にチェックを入れる
手順4.
一応FFFTPを再起動
以上のような対応がメジャーですね。
メジャーという事はこれで解決するというケースが多いという事。
なので、多くの場合はこれで解決するのではと思われます。
しかーし、僕の場合はこれで解決しなかったので次の手を使います。
コマンドプロンプトでFTPを行う
ちょっと面倒だけど、こちらだと確実。コマンドプロンプトを使います。
下にコマンドの流れをざっと載せますが、その前に、使用しているコマンドの解説を簡単に。
ftp:FTPを起動します。まずはここから。
open:FTPの接続を開始します。事前にIPアドレス、管理者アカウント、パスワードを用意しておきましょう。
cd:ディレクトリの移動時に使うコマンド。
ls:現在いるディレクトリに含まれる一般ファイルを表示します。ちなみに「dir」だともう少し詳細な情報も。
ls-a:「ls」のオプション付き。今回のキモとなるコマンド。「.」から始まる特殊ファイルも表示します。
delete:ファイルを削除します。削除できるのはファイルだけでディレクトリは削除できません。
rmdir:ディレクトリを削除するときはこちら。中にファイルが存在すると削除できないので、「delete」で中のファイルを空にしてから実行しましょう。
close:FTPの接続を切断します。
今回の一連の流れ
では今回コマンドプロンプトで行う主な作業をざざっと。
FFFTPでは見れなかった「.htaccess」と「.htpasswd」を格納するディレクトリを確認し、
上記ファイル2つとディレクトリを削除する、という作業を行った場合のコマンドの流れです。
C:UsersPCのユーザー名>ftp(←FTPの起動) ftp> open(←FTPの接続を開始) 宛先 999.999.999.999(←接続先のIPアドレス) 999.999.999.999 に接続しました。 220 ProFTPD 1.3.0a Server (ProFTPD) [999.999.999.999] ユーザー (999.999.999.999:(none)): xxxxxxxxx(←FTPの管理者アカウント) 331 Password required for xxxxxxxxx. パスワード:(←FTPのログインパスワード※打っても画面表示されないのであせらずに打つべし) 230 User xxxxxxxxx logged in. ftp> cd /aaaaa/bbbbbb(←探したいファイルがあるディレクトリに移動) 250 CWD command successful ftp> ls(←ディレクトリに含まれるファイルの一覧表示) 200 PORT command successful 150 Opening ASCII mode data connection for file list aaaaa.html bbbbbb.html dddddd cccccc dddddd eeeeee ffffff gggggg hhhhhh error 226 Transfer complete. ftp: 229 バイトが受信されました 0.01秒 45.80KB/秒。 ftp> cd eeeeee(←「eeeeee」というディレクトリに「.htaccess」が入ってると仮定) 250 CWD command successful ftp> ls(←ディレクトリに含まれるファイルの一覧表示) 200 PORT command successful 226 Transfer complete.(←※注目:「ls」コマンドでは表示されません) ftp> ls -a 200 PORT command successful 150 Opening ASCII mode data connection for file list . .htaccess .. .htpasswd 226 Transfer complete.(←※注目:「ls -a」コマンドであれば表示されます) ftp: 29 バイトが受信されました 0.00秒 29.00KB/秒。 ftp> delete .htaccess(←ファイルを消す場合は「delete」コマンドを使う) 250 DELE command successful ftp> ls -a(←再度リストを表示させ、「.htaccess」が削除できてるか確認する) 200 PORT command successful 150 Opening ASCII mode data connection for file list . .. .htpasswd 226 Transfer complete.(←無事に「.htaccess」の削除を確認) ftp: 18 バイトが受信されました 0.00秒 18.00KB/秒。 ftp> delete .htpasswd(←続いて「.htpasswd」を削除する) 250 DELE command successful ftp> ls -a(←再度リスト表示し、2つが削除出来ているか確認する) 200 PORT command successful 150 Opening ASCII mode data connection for file list . .. 226 Transfer complete.(←無事に2つのファイルの削除を確認) ftp: 7 バイトが受信されました 0.00秒 7000.00KB/秒。 ftp> cd ../(←一つ上のディレクトリに移動) 250 CWD command successful ftp> rmdir eeeeee(←2つのファイルを格納していた「eeeeee」ディレクトリも削除する) 250 XRMD command successful ftp> ls(←ディレクトリに含まれるファイルの一覧を再度表示) 200 PORT command successful 150 Opening ASCII mode data connection for file list aaaaa.html bbbbbb.html dddddd cccccc dddddd ffffff gggggg hhhhhh error 226 Transfer complete.(←「eeeeee」ディレクトリの削除を確認) ftp> close 221 Goodbye(←FTPの終了)
焦らずにゆっくりと
日頃使っていない方にはなんだかとっつきにくいのがコマンドプロンプト。
僕もそうです。普段はほとんど使いません。
でも落ち着いてやれば大丈夫。コンピュータの起源はここです。
昔の人たちのコンピュータへの想いを馳せ、彼らをリスペクトするつもりでキーを叩きましょう。
焦ったら負けです。
削除してはいけないディレクトリやファイルを消さないように、落ち着いて作業しましょう。
中にファイルが入っているディレクトリをガツンと消せなくなっている仕様は、
僕みたいなおっちょこちょいがついうっかり大事なディレクトリを削除してしまわないよう配慮してくれているのですね。
世の中はマシンエラーよりもヒューマンエラーに溢れています。
そのことにいち早く気がついていた先人達には頭が上がりません。
それではレッツトライ。
いやあ助かりました。
ありがとうございます。
>半年に一回程度で必要になる作業なので…
私もそうなんです。あまり頻繁にやる作業ではないので作業記録もおろそかだったのですがこうやって記録されていると助かります。