我正在为我的网页制作.htaccess,这是代码:
Options -Indexes
RewriteEngine On
RewriteRule ^([A-Za-z]+)/([0-9]+)/$ files.php?row=$1&column=$2
RewriteRule ^([A-Za-z]+)/?$ $1/1/
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mywebpage\.at [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} ^http://.*$
RewriteRule \.(jpe?g|gif|bmp|png)$ /imgs/hotlinks.png [L]
RewriteCond %(REQUEST_URI) ^imgs/$ [NC]
RewriteRule / - [F]
ErrorDocument 404 /404.html
ErrorDocument 403 /403.html
问题是,我的图片没有显示在带有重写URL的页面中。显然,他们的路线也受到重写的影响。简单解释:位于www.mywebpage.at/imgs/pic1.jpg的图片在www.mywebpage.at/files.php?row=first&column=3上加载,但当我尝试输入www.mywebpage.at/时第一个/ 3 /浏览器在www.mywebpage.at/first/3/imgs/pic1.jpg中查找图像,显然无法加载它。
我如何解决这个问题,以便图片的路线不会改变,无论我在哪里使用它们?
答案 0 :(得分:2)
你可以这样做:
RewriteCond $1 !^(imgs)
RewriteRule ^([A-Za-z]+)/([0-9]+)/$ files.php?row=$1&column=$2
这将重写除imgs文件夹之外的所有内容。
编辑:道歉,误读问题。
使图像路径绝对。例如。相对路径是:
imgs/image1.jpg
绝对路径是:
/imgs/image1.jpg
开头的斜线告诉它转到网站的根部然后转到imgs,然后转到image1.jpg。