如何在 htaccess 中为主页添加重写规则?

如何在 htaccess 中为主页添加重写规则?

我在使用 Apache 时遇到了问题。

我的网站现在有以下规则:

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com [NC]
RewriteRule .* path/to/html/my.html [L]

我只需要为主页创建重定向到另一个 html 文件的规则。我该怎么做?

旧规则必须适用于其他网站页面。

我尝试了这个,但是没有用:

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com$ [NC]
RewriteRule ^$ path/to/html/my-new.html [L]

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com [NC]
RewriteRule ^/(.*) path/to/html/my.html [L]

答案1

如果你的意思是你想改变默认的索引页,这样当访问者打开http://mysqite.com,my.html 就会出现,您可以在 .htaccess 文件中尝试以下操作:

目录索引 my.html

无需重写。


编辑:

抱歉,我没理解你关于现有规则的观点。你可以像这样写规则:

重写规则 ^$ /path/to/html/my-new.html [L]

RewriteRule !^/path/to/html/my-new.html$ path/to/html/my.html [L]

因此,您基本上是在告诉它仅将带有主机名的请求重定向到 my-new.html,将其他所有内容重定向到 my.html。第二行明确排除了 my-new.html 请求。如果没有明确指定,则在执行第一行的重写时,它将触发第二行,最终所有内容都将重定向到 my.html。

相关内容