所以我设置了以下几行,以便将一些请求重定向到我的静态域:
RewriteEngine On
RewriteBase /
RewriteRule ^img/(.*)$ http://static.mydomain.com/img/$1 [R=301]
RewriteRule ^css/(.*)$ http://static.mydomain.com/css/$1 [R=301]
RewriteRule ^js/(.*)$ http://static.mydomain.com/js/$1 [R=301,L]
但出于某种原因,当我链接到a时,让我们说一张图片:
<img src="img/icons/hello.png">
当它真正存在于静态服务器上时显示404(这实际上意味着它没有被重定向)。
我做错了什么?我花了两个小时尝试我所知道的一切,但没有找到修复。
非常感谢您提前。这是我的完整htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^img/(.*)$ http://static.mydomain.com/img/$1 [R=301]
RewriteRule ^css/(.*)$ http://static.mydomain.com/css/$1 [R=301]
RewriteRule ^js/(.*)$ http://static.mydomain.com/js/$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
答案 0 :(得分:1)
调试重写的一个好方法是指定RewriteLog和RewriteLogLevel。您将日志级别设置为9,这会记录有关重写的大量内容。记得在调试后禁用日志记录,因为它对于apache进程非常重要。