2011-06-07 49 views
0

我讨厌不得不寻求帮助,但编辑.htaccess是生活中那些我不能也不会包住我的头的东西之一。几个月来我一直在努力学习,而且我无处可去。我终于承认失败,并寻求帮助!Mod重写目录结构以不同的方式出现

我有一个目录: -

http://example.com/images/blog/year/month/anyfilename.jpg

,我想,如果可能的话。要始终显示为: -

http://example.com/pix/anyfilename.jpg

然后,我会继续在正确的年/月的目录,这将仅是可见的我上传文件。在访问者的外部,如果他们查看图像,他们会看到后面的url(我可以照顾解析PHP页面中的链接以匹配重写的“虚拟”目录,我自己也不会成为问题)。

我已经接近它的工作时代,图像不再可见,这是有道理的,但我认为能够重写URL的重点是避免不得不移动文件?

我有RewriteEngine上,和选项+ FollowSymlinks,我知道这是所有设置正确的其他规则和重定向的工作。只是这个不想玩。

我没有任何示例可以显示,因为我没有任何可用的示例。我到处搜索,接近答案,但从来没有接近我需要的东西,实际上为我工作。我没有想法。

帮助我Obi-Wan溢出,你是我唯一的希望。

回答

0

你不能做你正在试图做的只是mod重写。问题是你有多个文件可以存活的地方,你的重写规则不会接受任何形式的输入。你可以做一些类似http://www.example.com/pix-month-year/anyfilename.jpg的事情。 Mod重写不是一种脚本语言。

或者,您可以创建一个PHP脚本,您可以通过文件名传递,它可以搜索图像目录,直到找到匹配,并将图像数据传递给浏览器。 (请记住在多个文件夹中记录相同的文件名。)

您的mod_rewrite会是这样的。

RewriteRule ^pix/(.*)$ find-pix.php?filename=$1