Hübsche URLs zum Hochladen von Dateien?

9

Können Dateien wie PDFs auf benutzerdefinierte URLs hochgeladen werden? Ich möchte www.example.com/whitepapers/pdf.pdfstattdessen ein PDF hochladen www.example.com/wp-uploads/....

Ich habe ein Plugin namens WP Easy Uploader gefunden, das in Ordnung zu sein scheint, aber ich wollte überprüfen, ob es andere Lösungen gibt.

Eine Lösung, über die ich nachgedacht habe, besteht darin, das PDF als Seite zu behandeln, damit ich dem PDF eine übergeordnete Seite zuweisen kann. Dadurch werden alle Weiterleitungen behandelt, falls die URL der übergeordneten Seite geändert wird.

UPDATE - WP Easy Uploader wird nicht mehr berücksichtigt, da ich aus Sicherheitsgründen keinen FTP-Zugriff innerhalb einer Wordpress-Installation haben möchte.

Matthew Xerri
quelle

Antworten:

2

Anhänge im Allgemeinen (Bilder, aber auch Dateien wie PDFs) haben eine spezielle "Anhangsseite" des Formulars example.com/main-post/attachment/file-title/. In den meisten Themen wird dies verwendet, um eine größere Version des Bildes anzuzeigen, die sich noch im Themenlayout befindet (daher wird eine HTML-Datei mit dem Bild darin zurückgegeben, nicht das Bild direkt).

Sie können dies ausnutzen, indem Sie eine Vorlagendatei erstellen, die die Datei direkt bereitstellt, anstatt sie nur anzuzeigen. Wenn Sie dann eine Seite example.com/whitepapers/mit einem Anhang namens erstellen file.php, lautet die URL der Datei example.com/whitepapers/attachment/file.

Sie müssten eine Datei in Ihrem Themenverzeichnis erstellen, die entweder attachment.php(wenn Sie dies für alle Anhänge tun möchten) oder application.php(wenn Sie dies nur für Dateien mit einem MIME-Typ wie application/*) tun möchten . In dieser Datei erhalten Sie den Speicherort der Anhangsdatei und anschließend readfile()den Browser. Ich denke, es gibt bereits Plugins, die dies für Sie tun können.

Jan Fabry
quelle
Ich werde darüber nachdenken und einige Dinge ausprobieren. Danke für den Tipp
Matthew Xerri
Ich habe wieder darüber nachgedacht und habe 2 Fragen: 1) Wenn ich eine Whitepapers-Datei an eine andere Seite anhänge, habe ich 2 URLs für dieselbe Datei, die nicht so SEO-freundlich ist. 2) Die Datei selbst hätte keine URL aber nur eine URL, je nachdem, ob sie angehängt ist oder nicht. Richtig?
Matthew Xerri
@thearchitect: Wenn Sie von einer anderen Seite aus auf dieselbe Datei verlinken, hat diese dieselbe URL (wie wenn Sie dasselbe Bild auf zwei verschiedenen Seiten verwenden). Wenn die Datei nicht an einen Beitrag angehängt wurde, hat sie immer noch eine (generische) URL, aber ich müsste nachsehen, was sie damals war. Sie können die Anhangs-URL so ändern, dass sie alle so aussehen, als /media/ob Sie möchten.
Jan Fabry
@Jan Muss ich für Ihre Lösung für jede Mediendatei eine leere Seite erstellen? Außerdem kann ich für verschiedene Medienkategorien wie diese keine unterschiedlichen Pfade angeben. Hier ist das Szenario, das ich möchte. Ich möchte eine PDF-Datei hochladen, eine Kategorie für diese PDF-Datei festlegen (die für den Beitrag / die Seite, an die sie angehängt ist, nicht relevant ist) und eine URL zu dieser PDF-Datei erstellen lassen, z. B. example.com/CATEGORY/FILENAME.pdf
Matthew Xerri
@thearchitect: Dies sollte mit einigen erweiterten Umschreiberegeln möglich sein (lesen Sie: nicht mit dem "Kern" -Code von WordPress). Lassen Sie mich darüber nachdenken und ich werde versuchen, mit einer Antwort zurückzukommen.
Jan Fabry
2

UPDATE : Gefundene Medienbibliothekskategorien, die Medien nach benutzerdefinierten Kategorien sortieren. Jetzt brauche ich nur noch ein ähnliches Plugin, um diese Kategorie zur URL hinzuzufügen, damit ich URL-Umschreibungen durchführen und das bekommen kann, was ich brauche!


Habe ein paar Plugins gefunden.

Mit Upload verschieben können Sie in einen beliebigen Ordner hochladen und beim Hochladen von Medien eine Dropdown-Liste erstellen, um diese neuen Medien an Ihren benutzerdefinierten Speicherorten abzulegen. Es sieht in Ordnung aus, aber die Dateien werden in tatsächlichen physischen Ordnern abgelegt. Es wäre besser, wenn etwas in einen Inhaltsordner hochgeladen werden könnte und der im Link verwendete 'Ordner' nur ein Permalink wäre. Auch bei einer schnellen Installation von localhost funktionierte es nicht gut. Es wurde immer wieder versucht, auf C: \ wamp \ www ... anstatt auf http: // localhost / zuzugreifen.

Mit Custom Upload Dir können Sie in benutzerdefinierte Verzeichnisse hochladen, dies entsprach jedoch nicht meinen Anforderungen.

Über WP Easy Upload - Ich möchte es nicht verwenden, da ich aus Sicherheitsgründen keinen FTP-Zugriff auf Plugins in der Installation gewähren möchte.

Matthew Xerri
quelle
1

Lösung 1 Sie können Ihren Medienpfad ändern. Gehen Sie zu Einstellungen-> Medien. Ändern Sie die Standardeinstellung "wp-content / uploads" in "whitepapers". Wenn Sie andere als Whitepapers hochladen, funktioniert diese Lösung nicht so gut.

Lösung 2 Verwenden Sie Pretty Link, um Ihren Pfad anzupassen. Ich verwende Pretty Links seit ich WordPress verwende. ein paar Jahre jetzt.

Meistens, um Pfade zu Dateien zu vereinfachen.

Sie können "abc.com/whitepaper/file.pdf" in "abc.com/wp-content/uploads/file.pdf" zuordnen.

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

mrwes
quelle
Danke für den Tipp. Ich vermute, dass ich mit diesem Plugin nach jedem Upload eine hübsche URL erstellen müsste, oder?
Matthew Xerri
@thearchitect - Ja, dies ist ein Plugin. Sie müssten für jeden Upload eine URL erstellen. Das Schöne ist, dass Sie jede hübsche URL einer beliebigen URL Ihrer Site oder einer externen Site zuordnen können. dh. mrwes.net/linkedin
mrwes
Ich denke, das Plugin verursacht zu viel Overhead, da es Javascript, Tracking usw. ausführt. Wir haben bereits den größten Teil seiner Funktionalität installiert. Wir brauchen nur etwas, um Uploads besser zu organisieren
Matthew Xerri