0

我的服务器上有很多名称不明的文件夹。它们被称为 cdn-1 cdn3 img1 等。我已经收集了这些文件夹中的所有文件,并将它们放在一个文件夹中,称为 cdn。现在,我不希望用户在尝试访问位于 cdn-3.website.com/file/img/1.jpg 的文件时得到 404。相反,有没有办法修改这个文件夹,这样即使用户试图访问一个文件,比如说,cdn-7382910731293.website.com/file/1.jpeg,它仍然可以工作吗?这可能有点牵强,但我以前见过这样做。我为这样的解决方案找到的唯一有效代码是针对单个文件,而不是文件夹。

编辑:这是我迄今为止尝试过的。它只是行不通。它有什么问题?

RewriteRule ^cdn([^/]*).1$ http://cdn.website.com/$1 [L]

4

2 回答 2

0

也许尝试让子域都指向同一个地方(无论 cdn.website.com 指向哪里),然后在该域的 htaccess 中粘贴以下内容:

RewriteCond %{HTTP_HOST} ^(cdn-1|cdn1|img1|etc)\.website\.com
RewriteRule (.*) http://cdn.website.com/$1 [R=301,L]

只要文件在同一个地方,这应该可以无缝地工作。也就是说,只有主机名不同,主机名后面的文件路径也不同。我认为 RewriteCond 是一个正则表达式,因此您应该能够编写它以匹配您需要的任何内容。

我已成功使用此方法将旧域重定向到新域,并重定向example.comwww.example.com.

于 2013-01-31T13:58:23.537 回答
0

最简单的方法是使用 .htaccess将所有 404 页面重定向到单个 PHP 页面,然后检查新的 cdn 文件夹中是否存在这样的文件/图像,然后将其提供服务器或显示有效的 404 页面。

在提供图像等时也不要忘记标题;-)

于 2013-01-31T13:46:08.713 回答