我在example.com上有一个非常简单的html页面。它仅由以下index.html
组成:
<html>
<body style="background-color:black;">
<img src="images/picture1.jpg" alt="example" style="width:40%;">
</html>
该页面的加载完全符合我访问example.com时的预期,但我希望这样做,因此对example.com的任何请求都将重定向到此首页(因此example.com/catfood将用户带到example.com )。我为此添加了以下内容到.htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/
RewriteRule ^ / [R=301]
它可以正确重定向,但是会损坏图像。我相信这是因为出现了对example.com/images/picture1.jpg的请求,现在已将其重定向到索引页,但是我不确定我需要添加到.htaccess中的内容以允许在发生重定向的同时进行仍将此图像加载在首页上。
答案 0 :(得分:1)
添加另一个RewriteCond,表示该规则仅在请求未指向现有文件时适用。
RewriteCond %{REQUEST_FILENAME} !-f
所以:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !=/
RewriteRule ^ / [R=301]
请参阅 https://httpd.apache.org/docs/current/mod/mod_rewrite.html