漂亮的文件上传网址?


9

可以将PDF等文件上传到自定义网址吗?我想上传PDF www.example.com/whitepapers/pdf.pdf而不是www.example.com/wp-uploads/...

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

我正在考虑的一种解决方案是将PDF视为页面,以便可以将父页面分配给PDF。如果父页面的URL发生更改,这将处理所有重定向。

更新 -由于安全原因,我不想从Wordpress安装中进行任何FTP访问,因此不再考虑WP Easy Uploader。

Answers:


2

通常,附件(图像,还有PDF之类的文件)都具有形式特殊的“附件页面” example.com/main-post/attachment/file-title/。在大多数主题中,它用于显示较大版本的图像,但仍保留在主题布局中(因此它将返回其中包含图像的HTML文件,而不是直接返回图像的HTML文件)。

您可以通过创建一个直接为文件提供服务的模板文件来利用它,而不仅仅是显示它。然后,如果您创建的页面example.com/whitepapers/带有名为的附件file.php,则文件的URL将为example.com/whitepapers/attachment/file

您将需要在主题目录中创建一个文件,或者attachment.php(如果您想对所有附件执行此操作)或application.php(如果您只想对具有MIME类型的文件执行此操作application/*)。在该文件中,您将获得附件文件的位置,然后将readfile()其发送到浏览器。我猜那里已经有插件可以为您做到这一点。


将对此进行一些思考并尝试一些尝试。感谢您的提示
马修Xerri

我又在考虑这个问题,我有2个问题:1)如果我将白皮书文件附加到其他页面,则我有2个相同文件的URL,因此对SEO不友好2)文件本身将没有URL但只是一个URL,具体取决于它是否已附加。对?
Matthew Xerri 2011年

@thearchitect:如果从不同页面链接到同一文件,则它将具有相同的URL(例如,当您在两个不同的页面中使用相同的图像时)。如果该文件尚未附加到帖子中,则它仍将具有(通用)URL,但是我将不得不查找当时的内容。您可以更改附件URL,以便它们全部显示为所需的/media/样子。
Jan Fabry

@Jan您的解决方案是否要求我为每个媒体文件创建一个空白页?同样,我不能为这样的不同媒体类别指定不同的路径。这是我想要的方案。我想上传一个PDF,为该PDF设置一个类别(与它附加到的帖子/页面无关),并为该PDF创建一个URL,例如example.com/CATEGORY/FILENAME.pdf
Matthew Xerri

@thearchitect:这应该可以通过一些高级重写规则来实现(阅读:不适用于WordPress的“核心”代码)。让我考虑一下,我将尝试返回一个答案。
Jan Fabry

2

更新:找到了按自定义类别对媒体进行排序的媒体类别。现在,我只需要一个类似的插件即可将该类别添加到URL,以便可以执行URL重写并获得所需的内容!


找到了几个插件。

重定位上载允许您上载到任何文件夹,然后在上载媒体时将其放置在下拉列表中,以将新媒体放置在您的自定义位置。看起来不错,但文件位于实际的物理文件夹中。最好是可以将任何内容上传到一个内容文件夹中,并且链接中使用的“文件夹”只是永久链接。同样,它在快速本地主机安装中也不起作用。它一直尝试访问C:\ wamp \ www ...而不是http:// localhost /

自定义上传目录允许您上传自定义目录,但这不符合我的要求。

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


1

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

解决方案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 2011年

@thearchitect-是的,这是一个插件,您需要为每次上传创建一个URL。不错的是,您可以将任何Pretty URL映射到您网站或外部网站的任何URL。即。mrwes.net/linkedin
mrwes 2011年

我认为该插件会运行javascript,跟踪等操作,因此会产生过多的开销。我们已经准备好了大部分功能。我们只需要一些东西来更好地组织上传
Matthew Xerri 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.