¿Bonitas URL para subir archivos?

9

¿Se pueden cargar archivos como PDF a URL personalizadas? Me gustaría subir un PDF a en www.example.com/whitepapers/pdf.pdflugar de www.example.com/wp-uploads/....

Encontré un complemento llamado WP Easy Uploader que parece estar bien, pero quería comprobar si hay otras soluciones.

Una solución que estaba contemplando es tratar el PDF como una página para poder asignar una página principal al PDF. Esto manejará cualquier redireccionamiento en caso de que se cambie la URL de la página principal.

ACTUALIZACIÓN : ya no considero WP Easy Uploader ya que no quiero tener acceso FTP desde una instalación de Wordpress por razones de seguridad.

Matthew Xerri
fuente

Respuestas:

2

Los archivos adjuntos en general (imágenes, pero también archivos como PDF) tienen una "página adjunta" especial del formulario example.com/main-post/attachment/file-title/. En la mayoría de los temas, esto se usa para mostrar una versión más grande de la imagen, aún en el diseño del tema (por lo que devuelve un archivo HTML con la imagen, no la imagen directamente).

Puede explotar esto creando un archivo de plantilla que sirva el archivo directamente, en lugar de solo mostrarlo. Luego, si crea una página example.com/whitepapers/con un archivo adjunto llamado file.php, la URL del archivo será example.com/whitepapers/attachment/file.

Debería crear un archivo en su directorio de temas llamado attachment.php(si desea hacer esto para todos los archivos adjuntos) o application.php(si solo desea hacer esto para archivos con un tipo MIME application/*). En ese archivo, obtiene la ubicación del archivo adjunto y luego readfile()la envía al navegador. Supongo que ya hay complementos que pueden hacer esto por usted.

Jan Fabry
fuente
pensaremos esto y probaremos algunas cosas. Gracias por el consejo
Matthew Xerri
Estaba pensando en esto nuevamente y tengo 2 preguntas: 1) Si adjunto un archivo de Whitepapers a una página diferente, entonces tengo 2 URL para el mismo archivo que no es tan compatible con SEO 2) El archivo en sí no tendría una URL pero solo una URL dependiendo de si está adjunto o no. ¿Derecha?
Matthew Xerri
@thearchitect: si vincula al mismo archivo desde una página diferente, tendrá la misma URL (como cuando usa la misma imagen en dos páginas diferentes). Si el archivo no se ha adjuntado a una publicación, seguirá teniendo una URL (genérica), pero tendría que buscar qué era entonces. Puede cambiar la URL del archivo adjunto para que todos aparezcan como /media/lo desea.
Jan Fabry
@ Jan ¿Su solución requiere que cree una página vacía para cada archivo multimedia? Además, no puedo especificar diferentes rutas para diferentes categorías de medios como esta. Aquí está el escenario que me gustaría. Quiero cargar un PDF, establecer una categoría para ese PDF (que es irrelevante para la publicación / página a la que está adjunto) y tener una URL creada para ese PDF como example.com/CATEGORY/FILENAME.pdf
Matthew Xerri
@thearchitect: Eso debería ser posible con algunas reglas avanzadas de reescritura (léase: no con el código "central" de WordPress). Déjame pensarlo e intentaré volver con una respuesta.
Jan Fabry
2

ACTUALIZACIÓN : Se encontraron categorías de biblioteca de medios que clasifican los medios por categorías personalizadas. ¡Todo lo que necesito ahora es que un complemento similar agregue esa categoría a la URL para que pueda realizar reescrituras de URL y obtener lo que necesito!


Encontré un par de complementos.

Relocate Upload le permite cargar a cualquier carpeta y luego tener una lista desplegable al cargar medios para colocar esos nuevos medios en sus ubicaciones personalizadas. Se ve bien, pero los archivos se colocan en carpetas físicas reales. Sería mejor si pudiera cargar algo en una carpeta de contenido y la 'carpeta' utilizada en el enlace sería solo un enlace permanente. Además, no funcionó bien en una instalación localhost rápida. Intentó acceder a C: \ wamp \ www ... en lugar de http: // localhost /

Custom Upload Dir le permite cargar en directorios personalizados, pero esto no cumplió con mis requisitos.

Acerca de WP Easy Upload : no quiero usarlo ya que no quiero dar acceso FTP a ningún complemento dentro de la instalación por razones de seguridad.

Matthew Xerri
fuente
1

Solución # 1 Puede cambiar su ruta de medios. Vaya a Configuración-> Medios Cambiar por defecto "wp-content / uploads" a "whitepapers", por supuesto, si carga otros que no sean whitepapers, esta solución no funcionará tan bien.

Solución # 2 Use Pretty Link para personalizar su ruta. He estado usando Pretty Links desde que uso WordPress; hace unos años

Principalmente para simplificar las rutas a los archivos.

Puede asignar "abc.com/whitepaper/file.pdf" en "abc.com/wp-content/uploads/file.pdf"

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

mrwes
fuente
gracias por el consejo. Supongo que con este complemento, necesitaría crear una bonita URL después de cada carga ¿verdad?
Matthew Xerri
@thearchitect: sí, este es un complemento, deberá crear una URL para cada carga. Lo bueno es que puede asignar cualquier URL bonita en cualquier URL a su sitio o un sitio externo. es decir. mrwes.net/linkedin
mrwes
Creo que el complemento crea demasiada sobrecarga, ya que ejecuta javascript, seguimiento, etc. Ya tenemos la mayor parte de su funcionalidad. Solo necesitamos algo para organizar mejor las cargas
Matthew Xerri