Reputation: 509
I'm trying to use htaccess redirect to a file, but can't get the image to display.
I want to redirect ANY request to mydomain.com or www.mydomain.com to www.mydomain.com/test.html
This is the content of my htaccess file:
# Turn rewriting on
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/test.html
RewriteCond %{REQUEST_URI} !=*\.png$ [NC]
RewriteRule .* /test.html
I have this line of code in my test.html file:
<img src="image.png" alt="My Image">
But the image doesn't display at all, I just get a broken image. I also tried using absolute path for image, same thing.
Upvotes: 5
Views: 18822
Reputation: 21
Try -
RewriteCond %{REQUEST_URI} !\.(ico|gif|jp?g|png|swf|rm|mov|mp?g)$ [NC]
Upvotes: 0
Reputation: 36960
This will exclude various types of images
#if the request does not end with .gif,.png or jpg
RewriteCond %{REQUEST_URI} !(\.gif|\.jpg|\.png)$ [NC]
RewriteRule ^index.html$ index.php [NC]
Upvotes: 6
Reputation: 72961
Try:
RewriteCond %{REQUEST_URI} !\.png$ [NC]
Not familiar with !.
prefix. Check the RewriteCond
Docs
Upvotes: 3
Reputation: 9509
Try replacing your .htaccess file with the following
# Turn rewriting on
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
#if the request does not end with test.html or is not a .png
RewriteCond %{REQUEST_URI} !(test\.html|\.png)$ [NC]
# Rewrite it to test.html
RewriteRule .* /test.html [L]
Upvotes: 16