1

我刚刚花了一个下午的时间为我正在进行的项目编写了一个 .htaccess 文件。

它可以在我的测试环境中运行,但是当我将其传输到实时服务器时,出现 404 错误:

在此服务器上找不到请求的 URL /albums/hua-hin/。

此外,在尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。

我的 .htaccess 如下:

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^albums/([^/]+)/image/([^/]+)/([^/]+) /getimage.php?a=$1&i=$2&pt=$3 [NC]
RewriteRule ^albums/([^/]+)/tags/([^/]+) /index.php?a=$1&tag=$2 [NC]
RewriteRule ^albums/([^/]+)/sag/([^/]+) /index.php?a=$1&sag=$2 [NC]
RewriteRule ^albums/([^/]+)/ /index.php?a=$1 [NC]

我想知道我的服务器设置方式是否与它有关。这是我托管多个站点的共享帐户。

www.mymaindomain.com 指向服务器(我的空间)的根目录。那里有一个 .htaccess 文件,然后将所有流量从 www.mymaindomain.com 指向 (root)/mymaindomain

该站点位于 (root)/anotherdomain 中,并直接指向那里。

我在 (root)/domain3、(root)/yetanotherdomain 等处有其他站点;据我所知,没有一个使用 .htaccess 文件!

4

1 回答 1

1

好的,我找到了问题!

我在根目录中有一个名为 albums.php 的文件,我所有的重定向都基于 /albums/

出于某种原因,虽然这在测试环境中没有引起任何问题,但它导致生产服务器在我身上出现 404。将 albums.php 文件重命名为不同的文件解决了这个问题。

于 2012-07-31T08:33:40.673 回答