【问题标题】:htaccess redirect url to different folderhtaccess 将 url 重定向到不同的文件夹
【发布时间】:2016-03-12 06:17:30
【问题描述】:

我的网站的所有照片都位于/var/www/vhosts/myvps.ovh.net/sitename/uploads/,我的站点位于/var/www/vhosts/myvps.ovh.net/httpdocs,站点名称和httpdocs 位于同一层。当用户查找一些我想查看/sitename/uploads 而不是/httpdocs/uploads 的照片时,我的htaccess 文件位于httpdocs/.htaccess。 我尝试像这样使用RewriteRule

RewriteRule ^/var/www/vhosts/myvps.ovh.net/sitename/uploads/(.*)/$ uploads/$1 [QSA]

但没有任何改变,我已经尝试不同的 RewriteRules 有一段时间了,但我想不出一个应该有效的方法。
有任何想法吗?谢谢

【问题讨论】:

  • Apache 无法从外部 DocumentRoot 加载内容,这里 /sitename/ 在外部 DocumentRoot
  • mod_write 适用于 url,而不是文件系统路径。
  • 正确的做法是将您的图像请求重定向到脚本,然后让脚本为文件提供服务。例如,请参阅我的答案:stackoverflow.com/questions/34136239/…

标签: php apache .htaccess mod-rewrite redirect


【解决方案1】:

我会在我的/etc/apache2/sites-enabled/myweb.conf 中使用这个指令:

Alias /upload/ /var/www/vhosts/myvps.ovh.net/sitename/uploads/
<Location /upload>
Require all granted
    SetHandler None
</Location>

然后对http://myweb/upload/file.ext 的任何网络请求都会将文件/var/www/vhosts/myvps.ovh.net/sitename/uploads/file.ext 发送到浏览器。

【讨论】:

  • 嗨,感谢您的帮助,不幸的是我正在使用 plesk(不是我的决定),我找不到访问您提到的文件的方法,我只能访问 /var/www/vhosts/myvps.ovh.net/ 子文件夹,关于如何解决这个问题的任何建议?
  • 对不起,我所有的电脑都有root,所以我可以编辑/etc中的任何东西,因此没有解决这些问题。如果在.htaccess 上不起作用,恐怕我无法为您提供帮助:(
【解决方案2】:

我解决了我的问题,像这样向我的 htaccess 添加 RewriteRule RewriteRule ^/uploads(.*) /var/www/vhosts/myvps.ovh.net/sitename/uploads/.

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 2013-10-08
    • 2012-11-13
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    相关资源
    最近更新 更多