gpt4 book ai didi

regex - RewriteCond 文件存在

转载 作者:行者123 更新时间:2023-12-02 23:44:26 25 4
gpt4 key购买 nike

这么简单的问题,但htaccess和我一直相处不好。

  1. 提供文件(如果存在)。
  2. 如果 URI 只是/并且如果 index.html 存在,则提供 index.html
  3. 否则提供app.php

这是.htaccess:

# Disable the directory processing, Apache 2.4
DirectoryIndex disabled xxx

RewriteEngine On

# Serve existing files
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]

# For / serve index.html if it exists
RewriteCond %{REQUEST_URI} ^/$
RewriteCond index.html -f
RewriteRule .? index.html [L]

# Otherwise use front controller
RewriteRule .? app.php [L]

如果我注释掉 RewriteCond index.html -f 行,只要 index.html 实际上存在,它就可以工作。但我还想检查index.php,所以我需要文件是否存在检查。如果没有别的事,我想了解为什么发布的行不起作用。

最佳答案

这应该有效:

# Disable the directory processing, Apache 2.4
DirectoryIndex disabled xxx

RewriteEngine On

# Serve existing files
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

# For / serve index.html if it exists
RewriteCond %{DOCUMENT_ROOT}/index.html -f [NC]
RewriteRule ^/?$ index.html [L]

# Otherwise use front controller
RewriteRule ^ app.php [L]

请记住,带有 -f-dRewriteCond 需要文件或目录的完整路径,这就是为什么您需要在文件名前加上前缀%{DOCUMENT_ROOT}/。这里不需要转义点。

关于regex - RewriteCond 文件存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29320684/

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