gpt4 book ai didi

linux - 503 htaccess 文件只能部分工作

转载 作者:太空狗 更新时间:2023-10-29 12:15:10 26 4
gpt4 key购买 nike

在 wordpress 网站上使用以下内容作为 503 转发器。出于某种原因,它表示 foo.com/xyz,而不是 foo.com 本身。有什么想法吗?

.htaccess 文件:

ErrorDocument 503 /rdi/index.php

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /rdi/index.php [R=503,L]

最佳答案

任何以 / 结尾的 url 请求一个文件夹,任何不以 / 结尾的 url 请求一个文件。当你请求http://example.com时,你实际上请求的是http://example.com/example.com的文档根>。您的文档根目录显然是一个现有文件夹,否则您根本无法运行站点。

您正在使用以下规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /rdi/index.php [R=503,L]

第二个条件是:“如果请求的文件名不是目录”。您的文档根目录一个目录,因此该条件为假。它不会重写。

您可以使用以下规则:

RewriteCond %{REQUEST_URI} ^/$ [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /rdi/index.php [R=503,L]

这会做什么?如果您请求 http://example.com,第一个条件将匹配,第二个将被忽略,因为 [OR] 标志,第三个条件将是真的。如果您请求 http://example.com/rdi/,第一个条件将为 false,第二个条件将为 false,因此不会使用该规则。如果您请求 http://example.com/asdfasdf/,第一个条件将为 false,但由于 [OR] 标志,它将尝试第二个条件,这是真的。然后它检查第三个条件是否为真,然后将重写请求。

关于linux - 503 htaccess 文件只能部分工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27831423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com