gpt4 book ai didi

apache - .htaccess 如何工作?

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

我试图让我的网站将其他页面显示为 www.example.com/pageone/链接而不是 www.example.com/pageone.html。

问题是,我正在阅读使用 .htaccess 的方法,它让我感到困惑,因为我不理解命令。

但是,我知道第一步是将其写入 .htaccess 文件中:

RewriteEngine On

在这一步之后,我完全不知道什么是 !-d、{REQUEST_FILENAME} 或 ^(.*) 以及所有编程文本。有可以引用的文档吗?

或者任何人都可以向我提供有关如何配置 .htaccess 文件的简单解释,以了解如果我想去
www.example.com/pageone.html

,我需要在 URL 中输入的是
www.example.com/pageone/

和PHP文件等?

最佳答案

首先,有 Official Documentation 。为了解决您的具体问题,我会这样做:

RewriteEngine on #Turn on rewrite

RewriteCond %{REQUEST_FILENAME} !-f #If requested is not a filename...
RewriteCond %{REQUEST_FILENAME} !-d #And not a directory
RewriteRule ^([^/]+)/?$ /$1.html [L] #Preform this redirect
RewriteCond 仅适用于下一个规则。如果您有多个规则,则需要为每个规则编写条件。

现在,Apache 服务器匹配请求的路径(www.example.com/之后的所有内容),以查看它是否匹配您指定的任何规则。在这种情况下,只有一种:
^([^/]+)$

此正则表达式匹配任意数量的字符,这些字符不是斜杠 / ,后跟可选的斜杠。如果找到匹配项,它会将请求重写为第二个参数: /$1.html$1 表示“括号之间匹配的内容”,在我们的例子中是所有非斜杠字符。
[L] 标志告诉重写引擎,如果此规则匹配,则停止查找规则。

所以总而言之, www.example.com/whatever/ 将在服务器端悄悄地改写为 www.example.com/whatever.html

关于apache - .htaccess 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10460209/

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