我讨厌不得不寻求帮助,但编辑.htaccess是生活中的一件事,我不能也不会永远不知所措。几个月来我一直在努力学习,而我却无处可去。我终于承认失败并前来寻求帮助!
我有一个目录: -
http://example.com/images/blog/year/month/anyfilename.jpg
我想要的,如果可能的话。始终显示为: -
http://example.com/pix/anyfilename.jpg
然后我会继续上传正确的年/月目录中的文件,这些内容只有我才能看到。对于访问者来说,如果他们查看了图像,他们会看到后者的URL(我可以处理解析PHP页面中的链接以匹配重写的“虚拟”目录,我自己也不会有问题)。
我已接近使用它的时间,图像不再可见,这是有道理的,但我认为能够重写URL的重点是避免不得不移动文件?
我有RewriteEngine,以及Options + FollowSymlinks,我知道所有设置都正确,因为其他规则和重定向工作。只是这个不想玩。
我没有显示示例,因为我没有可行的示例。我到处搜索,接近答案,但从来没有任何足够接近我需要的东西,实际上为我工作。我没有想法。
帮助我Obi-Wan Overflow,你是我唯一的希望。
答案 0 :(得分:0)
你只能通过mod-rewrite来做你想要做的事情。问题是您有多个文件可以存在的位置,并且您的重写规则不接受任何类型的输入来查找它。您可以执行http://www.example.com/pix-month-year/anyfilename.jpg之类的操作。 Mod-rewrite不是脚本语言。
或者,您可以创建一个传入文件名的PHP脚本,它可以搜索图像目录,直到找到匹配项,然后将图像数据传递给浏览器。 (请记住在多个文件夹中考虑相同的文件名。)
你的mod_rewrite就是这样的。
RewriteRule ^pix/(.*)$ find-pix.php?filename=$1