如何使用php或htaccess从URL隐藏文件夹

时间:2015-07-16 19:59:29

标签: php .htaccess url directory

我的图像和文档位于一系列文件夹之后:

http://domain.tld/library/data/info/history-of-america/hoa1.pdf
http://domain.tld/library/data/info/history-of-america/hoa2.pdf
http://domain.tld/library/data/info/50-moments-in-history/50mih.png

我使用php将较短链接重定向到这些长URL,如下所示:

http://domain.tld/15
http://domain.tld/16
http://domain.tld/21

但是因为我使用标题重定向,当我点击这些短链接时,它们会重定向到文件并再次显示长文件路径。

当文件在浏览器上可见时,如何保留短链接或至少删除长链接中的文件夹?

http://domain.tld/15
http://domain.tld/16
http://domain.tld/21

OR

http://domain.tld/hoa1.pdf
http://domain.tld/hoa2.pdf
http://domain.tld/50mih.png

注意我有数百个这样的文件,因此每个文件的手动输入对我来说都是不可扩展的。

提前致谢。我在尝试其他Q& A解决方案时遇到了很多错误,因此我们会非常感激这条道路。

2 个答案:

答案 0 :(得分:0)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On

RewriteRule ^15/?$ library/data/info/history-of-america/hoa1.pdf [L,NC]

RewriteRule ^16/?$ library/data/info/history-of-america/hoa2.pdf [L,NC]

RewriteRule ^21/?$ library/data/info/50-moments-in-history/50mih.png [L,NC]

答案 1 :(得分:0)

在.htaccess页面中包含此内容

#url forwarded
RewriteRule ^([a-z0-9_.-]+)$ library/data/info/history-of-america/hoa1.pdf$1 [L,NC,QSA]