gpt4 book ai didi

.htaccess - 简单的RewriteRule问题

转载 作者:行者123 更新时间:2023-12-03 03:17:38 25 4
gpt4 key购买 nike

这看起来很简单,但我无法弄清楚...我希望将所有请求重写为index.php(它将解释请求)除了 404.html应直接重写为 404.php。

下面的代码确实可以将所有内容重写到index.php,但404.php永远不会被触发。

我对第 3 行留下了注释,因为我不知道它的作用。

Options +FollowSymlinks
RewriteEngine on
#RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^404.html$ 404.php [L]
RewriteRule ^(.*)$ index.php [QSA]

如你所见,我的需求很简单,但我的大脑也很简单!请帮忙!

谢谢。

编辑

这条线本身就可以正常工作:

RewriteRule ^404.html$ 404.php

但是当引入另一个RewriteRule时,所有内容都被强制通过index.php - 甚至404.html......(我也尝试更改顺序)。

最佳答案

您可以反转匹配结果并在其前面添加 !。所以:

RewriteRule ^404\.html$ 404.php
RewriteRule !^404\.html$ index.php [QSA]

这将匹配路径^404\.html$ 匹配的任何请求。

您可能需要添加注释掉的条件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^404\.html$ index.php [QSA]

现在,仅当请求无法另外映射到现有文件时,此规则才会匹配。

关于.htaccess - 简单的RewriteRule问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3676030/

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