ファイルアップロードのきれいなURL?


9

PDFなどのファイルをカスタムURLにアップロードできますか?のwww.example.com/whitepapers/pdf.pdf代わりにPDFをアップロードしたいwww.example.com/wp-uploads/...

WP Easy Uploaderというプラグインを見つけましたが、問題ないようですが、他の解決策があるかどうかを確認したいと思いました。

私が考えていた1つの解決策は、PDFをページとして扱い、親ページをPDFに割り当てることができるようにすることです。これは、親ページのURLが変更された場合のリダイレクトを処理します。

更新 -セキュリティ上の理由から、Wordpressインストール内からFTPアクセスしたくないので、WP Easy Uploaderを考慮しなくなりました。

回答:


2

一般的な添付ファイル(画像だけでなく、PDFなどのファイル)にも、という形式の特別な「添付ページ」がありますexample.com/main-post/attachment/file-title/。ほとんどのテーマでは、これはテーマレイアウトのままで画像の拡大版を表示するために使用されます(そのため、直接画像ではなく、画像を含むHTMLファイルを返します)。

単に表示するのではなく、ファイルを直接提供するテンプレートファイルを作成することで、これを利用できます。次に、example.com/whitepapers/という名前の添付ファイルがあるページを作成すると、ファイルfile.phpのURLはになりますexample.com/whitepapers/attachment/file

attachment.php(すべての添付application.phpファイルに対してこれを実行したい場合)または(などのMIMEタイプのファイルに対してのみ実行したい場合)と呼ばれるテーマディレクトリにファイルを作成する必要がありますapplication/*。そのファイルでは、添付ファイルの場所を取得し、readfile()それをブラウザーに取得します。私はあなたのためにこれを行うことができるプラグインがすでにそこにあると思います。


これにいくつかの考えを与え、いくつかのことを試します。ヒントをありがとう
Matthew Xerri

私は再びこれについて考えていましたが、2つの質問があります。1)ホワイトペーパーファイルを別のページに添付すると、同じファイルに2つのURLがあり、SEOフレンドリーではありません。2)ファイル自体にはURLがありません。ただし、URLが添付されているかどうかによって異なります。正しい?
Matthew Xerri

@thearchitect:別のページから同じファイルにリンクすると、同じURLになります(2つの異なるページで同じ画像を使用する場合など)。ファイルが投稿に添付されていない場合でも、(一般的な)URLは含まれますが、その時点で何であったかを調べる必要があります。添付ファイルのURLを変更して、すべて/media/希望どおりに表示することができます。
Jan Fabry

@Janあなたのソリューションでは、メディアファイルごとに空のページを作成する必要がありますか?また、このようにメディアカテゴリごとに異なるパスを指定することもできません。これが私が望むシナリオです。私はPDFをアップロードする、(それが接続されているポスト/ページにirelevantである)そのPDFにカテゴリを設定し、そのようにPDFに作成したURL持っexample.com/CATEGORY/FILENAME.pdf
マシューXerri

@thearchitect:これは、いくつかの高度な書き換えルールで可能になるはずです(読み取り:WordPressの「コア」コードではできません)。それについて考えさせてください。答えを返してみます。
Jan Fabry

2

更新:カスタムカテゴリでメディアを並べ替えるメディアライブラリカテゴリが見つかりました。私が今必要なのは、同様のプラグインがそのカテゴリをURLに追加して、URLを書き換えて必要なものを取得できるようにすることだけです。


いくつかのプラグインを見つけました。

Relocate Uploadを使用すると、任意のフォルダーにアップロードし、メディアをアップロードするときにドロップダウンリストを使用して、新しいメディアをカスタムの場所に配置できます。問題はないようですが、ファイルは実際の物理フォルダに配置されています。1つのコンテンツフォルダーに何でもアップロードでき、リンクで使用されている「フォルダー」がパーマリンクになっているとよいでしょう。また、localhostのクイックインストールではうまく機能しませんでした。http:// localhost /の代わりにC:\ wamp \ www ...にアクセスしようとし続けました

カスタムアップロードディレクトリを使用すると、カスタムディレクトリでアップロードできますが、これは私の要件を満たしていませんでした。

WP Easy Uploadについて-セキュリティ上の理由から、インストール内のプラグインへのFTPアクセスを許可したくないので、使用しません。


1

解決策#1メディアパスを変更できます。もちろん、設定->メディアに移動して、デフォルトの "wp-content / uploads"を "whitepapers"に変更してください。もちろん、ホワイトペーパー以外をアップロードすると、このソリューションはうまく機能しません。

解決策#2 Pretty Linkを使用してパスをカスタマイズする私がWordPressを使用して以来、Pretty Linksを使用してきました。今数年。

ほとんどの場合、ファイルへのパスを簡略化します。

「abc.com/whitepaper/file.pdf」を「abc.com/wp-content/uploads/file.pdf」にマッピングできます

http://blairwilliams.com/pretty-link/


先端をありがとう。このプラグインでは、アップロードするたびにきれいなURLを作成する必要があると思いますか?
Matthew Xerri

@thearchitect-はい、これはプラグインです。アップロードごとにURLを作成する必要があります。良い点は、任意のPretty URLをサイトまたは外部サイトの任意のURLにマッピングできることです。すなわち。mrwes.net/linkedin
mrwes

プラグインはjavascriptやトラッキングなどを実行するため、オーバーヘッドが多すぎると思います。すでにほとんどの機能が整っています。アップロードをより適切に整理するための何かが必要です
Matthew Xerri
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.