如何在 htacess 中为站点根目录中的文件编写一个简单的重写规则?

如何在 htacess 中为站点根目录中的文件编写一个简单的重写规则?

我一直在尝试让我的站点 htacess 为我的文件页面提供有效的重写,但我做错了。我的目录结构非常简单。我的所有文件都在根文件夹中。到目前为止,我的 htacess 看起来像这样。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example-page.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example-page.com
    

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule   /front    /front_page.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule   /redirect    /redirect-page.php

当我调用像“www.example-page.com/front_page.php”这样的页面时,这是有效的(因为文件位于根文件夹中,所以它无论如何都会有效)。但是重写规则不起作用,www.example-page.com/front(以及所有其他网站)都给我 404 错误。我知道这种格式可以工作,或者使用与它非常类似的格式,因为我之前在其他网站上使用过它。我很困惑。有人知道我做错了什么吗?

答案1

请像这样编写指令:

RewriteEngine on

RewriteRule ^front$ /front_page.php [L]

RewriteRule ^redirect$ /redirect-page.php [L]

似乎没有必要再增加状况? 我假设您只有一个域example-page.com,并且没有名为/frontetc. 的文件。

在 中.htaccess,匹配的 URL 路径RewriteRule 图案不以斜线开头。您还应该在正则表达式中包含字符串的开始/结束锚点,以便您只匹配front完全匹配,而不匹配它任何地方在 URL 路径中。

相关内容