我在使用 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。