gpt4 book ai didi

apache - 无论域如何,如何让 Apache 将/robots.txt 指向一个文件?

转载 作者:行者123 更新时间:2023-12-05 00:58:49 28 4
gpt4 key购买 nike

我使用以下 URL 运行本地服务器:

foo.self
bar.self
blah-blah.self

以上 URL 由以下 VirtualHost 处理陈述:
<VirtualHost *:80>
UseCanonicalName Off
ServerName self
ServerAlias *.self
VirtualDocumentRoot C:\Users\Foo\PhpstormProjects\%-2
<Directory C:\Users\Foo\PhpstormProjects\*>
Options Indexes FollowSymLinks Includes ExecCGI MultiViews
Order deny,allow
Allow from all
Require all granted
</Directory>
</VirtualHost>

每个人都有自己的 /robots.txt ,但我需要做的是让任何 URL 返回完全相同的内容,无论它们是什么 /robots.txt包含或即使它不存在。例如,以下 URL:
  • foo.self/robots.txt
  • bar.self/robots.txt
  • blah-blah.self/robots.txt

  • ...将返回相同的文本:
    User-agent: *
    Disallow: /

    这无需求助于 301 RedirectRewriteRule .

    最佳答案

    只需在指向同一文件的主机配置中为/robots.txt 创建别名。另外,可能需要 Location 指令来授予访问权限:

    <VirtualHost *:80>
    UseCanonicalName Off
    ServerName self
    ServerAlias *.self

    Alias /robots.txt C:\Somfolder\robots.txt
    <Location "C:\Somfolder\robots.txt">
    Order deny,allow
    Allow from all
    </Location>

    VirtualDocumentRoot C:\Users\Foo\PhpstormProjects\%-2
    <Directory C:\Users\Foo\PhpstormProjects\*>
    Options Indexes FollowSymLinks Includes ExecCGI MultiViews
    Order deny,allow
    Allow from all
    Require all granted
    </Directory>
    </VirtualHost>

    您将此添加到所有主机配置中,所有这些 Alias指令指向同一个文件。文件 C:\Somfolder\robots.txt是您描述的“普通”robots.txt 文件。

    您可以通过将该指令包含为模式来简化此操作。这样你就可以将指令放在一个单独的配置文件中,并且只在你的主机配置中添加一个包含指令:
    <VirtualHost *:80>
    UseCanonicalName Off
    ServerName self
    ServerAlias *.self

    Include C:\path\to\file\robots.inc

    VirtualDocumentRoot C:\Users\Foo\PhpstormProjects\%-2
    <Directory C:\Users\Foo\PhpstormProjects\*>
    Options Indexes FollowSymLinks Includes ExecCGI MultiViews
    Order deny,allow
    Allow from all
    Require all granted
    </Directory>
    </VirtualHost>

    文件 C:\path\to\file\robots.inc :
    Alias /robots.txt C:\Somfolder\robots.txt
    <Location "C:\Somfolder\robots.txt">
    Order deny,allow
    Allow from all
    </Location>

    请注意,我对 MS-Windows 系统几乎一无所知。所以我记下的示例路径可能没有意义。但你应该能够明白这个想法:-)

    关于apache - 无论域如何,如何让 Apache 将/robots.txt 指向一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31640616/

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