Pretty URLs for File Uploads?

时间:2011-05-30 作者:Matthew Xerri

能否将PDF等文件上载到自定义URL?我想将PDF上传到www.example.com/whitepapers/pdf.pdf 而不是www.example.com/wp-uploads/....

我找到了一个名为WP Easy Uploader 这看起来不错,但我想看看是否还有其他解决方案。

我考虑的一个解决方案是将PDF视为一个页面,这样我就可以为PDF指定一个父页面。如果父页面的URL发生更改,这将处理任何重定向。

UPDATE - 不再考虑WP Easy Uploader,因为出于安全原因,我不想在Wordpress安装中进行任何FTP访问。

3 个回复
SO网友:Jan Fabry

一般来说,附件(图像,但也包括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() 将其发送到浏览器。我想已经有插件可以为您做到这一点了。

SO网友:Matthew Xerri

UPDATE: 建立Media Library Categories 它按自定义类别对媒体进行排序。我现在所需要的只是一个类似的插件,将该类别添加到URL中,这样我就可以执行URL重写并获得所需的内容!

找到了几个插件。

Relocate Upload 允许您上载到任何文件夹,然后在上载介质时具有下拉列表,以将新介质放置在自定义位置。看起来还可以,但文件放在实际的物理文件夹中。如果它可以在一个内容文件夹中上传任何内容,而链接中使用的“文件夹”只是一个永久链接,那就更好了。此外,它在快速安装localhost时也不能很好地工作。它一直试图访问C:\\wamp\\www。。。而不是http://localhost/

Custom Upload Dir 允许您在自定义目录中上载,但这不符合我的要求。

关于WP Easy Upload - 我不想使用它,因为出于安全原因,我不想让FTP访问安装中的任何插件。

SO网友:mrwes

解决方案#1您可以更改媒体路径。转到设置->媒体将默认的“wp内容/上载”更改为“白皮书”,当然,如果您上载的不是白皮书,此解决方案将无法正常工作。

解决方案#2使用Pretty Link自定义路径自从我使用WordPress以来,我一直在使用Pretty Links;几年过去了。

主要是为了简化文件路径。

您可以将“abc.com/whitepaper/file.pdf”映射到“abc.com/wp-content/uploads/file.pdf”

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

相关推荐

Organizing media uploads

我的一个客户想把他的WordPress网站转移到我的服务器上。问题是他的网站没有在他的上传文件夹中使用子文件夹,而他上传文件夹的根目录中有超过1000000个文件。有没有一种方法可以将他的所有帖子上传到文件夹中,而不会丢失帖子中的附加链接和特色图片?

Pretty URLs for File Uploads? - 小码农CODE - 行之有效找到问题解决它

Pretty URLs for File Uploads?

时间:2011-05-30 作者:Matthew Xerri

能否将PDF等文件上载到自定义URL?我想将PDF上传到www.example.com/whitepapers/pdf.pdf 而不是www.example.com/wp-uploads/....

我找到了一个名为WP Easy Uploader 这看起来不错,但我想看看是否还有其他解决方案。

我考虑的一个解决方案是将PDF视为一个页面,这样我就可以为PDF指定一个父页面。如果父页面的URL发生更改,这将处理任何重定向。

UPDATE - 不再考虑WP Easy Uploader,因为出于安全原因,我不想在Wordpress安装中进行任何FTP访问。

3 个回复
SO网友:Jan Fabry

一般来说,附件(图像,但也包括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() 将其发送到浏览器。我想已经有插件可以为您做到这一点了。

SO网友:Matthew Xerri

UPDATE: 建立Media Library Categories 它按自定义类别对媒体进行排序。我现在所需要的只是一个类似的插件,将该类别添加到URL中,这样我就可以执行URL重写并获得所需的内容!

找到了几个插件。

Relocate Upload 允许您上载到任何文件夹,然后在上载介质时具有下拉列表,以将新介质放置在自定义位置。看起来还可以,但文件放在实际的物理文件夹中。如果它可以在一个内容文件夹中上传任何内容,而链接中使用的“文件夹”只是一个永久链接,那就更好了。此外,它在快速安装localhost时也不能很好地工作。它一直试图访问C:\\wamp\\www。。。而不是http://localhost/

Custom Upload Dir 允许您在自定义目录中上载,但这不符合我的要求。

关于WP Easy Upload - 我不想使用它,因为出于安全原因,我不想让FTP访问安装中的任何插件。

SO网友:mrwes

解决方案#1您可以更改媒体路径。转到设置->媒体将默认的“wp内容/上载”更改为“白皮书”,当然,如果您上载的不是白皮书,此解决方案将无法正常工作。

解决方案#2使用Pretty Link自定义路径自从我使用WordPress以来,我一直在使用Pretty Links;几年过去了。

主要是为了简化文件路径。

您可以将“abc.com/whitepaper/file.pdf”映射到“abc.com/wp-content/uploads/file.pdf”

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