重定向后图像文件夹出现 404,但网站工作正常
404 for image folder after redirect, but site works properly
我安装了 Omeka S,并且一切正常,我在 sites-available 文件夹中的 apache 中进行了重定向,没问题。
在同一台服务器上,我有一个文件夹与我的 omeka 的安装级别相同,其中包含项目图像。当我想加载媒体时,我写了 url 在哪里可以找到图像,我会收到 404 错误。
如果我键入 wget
和图像所在位置的 url,我会得到:
wget http://mysite.it/images/Albini
--2021-11-02 10:58:51-- http://mysite.it/images/Albini
Resolving mysite.it (mysite.it)... 127.0.1.1
Connecting to mysite.it (mysite.it)|127.0.1.1|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://myredirect/images/Albini [following]
--2021-11-02 10:58:51-- https://myredirect/images/Albini
Resolving myredirect (myredirect)... 160.78.46.107
Connecting to myredirect (myredirect)|160.78.46.107|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-11-02 10:58:51 ERROR 404: Not Found.
我该如何解决这个问题?
这是000-default.config中的配置:
<VirtualHost *:80>
ServerName myredirect.it
Redirect / https://myredirect.it/
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/omeka-s
这是默认配置-ssl.conf:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName myredirect.it
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/omeka-s
DocumentRoot /var/www/html/omeka-s
... I have a folder on the same level of my omeka s installation with the item images
我假设文件夹 omeka-s
是您的“omeka s 安装”,在这种情况下,您的 DocumentRoot
似乎针对您请求的 URL 设置不正确,假设 images
和 omeka-s
是“同一级别”的两个文件夹。
使用上面设置的文档根目录,对 https://myredirect.it/images/Albini
的请求将查找 /var/www/html/omeka-s/images/Albini
,而它应该是 /var/www/html/images/Albini
.
例如,应该改为如下设置:
DocumentRoot /var/www/html
并且您需要相应地调整 <Directory>
容器(假设您有一个)。
更新: 您可能有一个 <Directory>
容器,它允许访问、允许 .htaccess
覆盖、设置 Options
等。这<Directory>
容器也应该引用正确的文档根目录(而不是 /var/www/html/omeka-s
)。例如:
<Directory /var/www/html>
:
:
</Directory>
好的,我明白了。我只需要设置别名并授予权限,而不更改 DocumentRoot,就像那样(在 000-default.conf
和 default-ssl.conf
:
AliasMatch "^/images/(.*)" "/var/www/html/images/"
<Directory /var/www/html/images/>
Order allow,deny
Allow from all
</Directory>
中有详细记录
我安装了 Omeka S,并且一切正常,我在 sites-available 文件夹中的 apache 中进行了重定向,没问题。
在同一台服务器上,我有一个文件夹与我的 omeka 的安装级别相同,其中包含项目图像。当我想加载媒体时,我写了 url 在哪里可以找到图像,我会收到 404 错误。
如果我键入 wget
和图像所在位置的 url,我会得到:
wget http://mysite.it/images/Albini
--2021-11-02 10:58:51-- http://mysite.it/images/Albini
Resolving mysite.it (mysite.it)... 127.0.1.1
Connecting to mysite.it (mysite.it)|127.0.1.1|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://myredirect/images/Albini [following]
--2021-11-02 10:58:51-- https://myredirect/images/Albini
Resolving myredirect (myredirect)... 160.78.46.107
Connecting to myredirect (myredirect)|160.78.46.107|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-11-02 10:58:51 ERROR 404: Not Found.
我该如何解决这个问题?
这是000-default.config中的配置:
<VirtualHost *:80>
ServerName myredirect.it
Redirect / https://myredirect.it/
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/omeka-s
这是默认配置-ssl.conf:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName myredirect.it
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/omeka-s
DocumentRoot /var/www/html/omeka-s
... I have a folder on the same level of my omeka s installation with the item images
我假设文件夹 omeka-s
是您的“omeka s 安装”,在这种情况下,您的 DocumentRoot
似乎针对您请求的 URL 设置不正确,假设 images
和 omeka-s
是“同一级别”的两个文件夹。
使用上面设置的文档根目录,对 https://myredirect.it/images/Albini
的请求将查找 /var/www/html/omeka-s/images/Albini
,而它应该是 /var/www/html/images/Albini
.
例如,应该改为如下设置:
DocumentRoot /var/www/html
并且您需要相应地调整 <Directory>
容器(假设您有一个)。
更新: 您可能有一个 <Directory>
容器,它允许访问、允许 .htaccess
覆盖、设置 Options
等。这<Directory>
容器也应该引用正确的文档根目录(而不是 /var/www/html/omeka-s
)。例如:
<Directory /var/www/html>
:
:
</Directory>
好的,我明白了。我只需要设置别名并授予权限,而不更改 DocumentRoot,就像那样(在 000-default.conf
和 default-ssl.conf
:
AliasMatch "^/images/(.*)" "/var/www/html/images/"
<Directory /var/www/html/images/>
Order allow,deny
Allow from all
</Directory>
中有详细记录