我需要使用Timthumb重写我的图片网址以获得更好的搜索引擎优化。
我有这个htaccess文件(在Codeigniter上),它可以工作,但是当我通过重写的网址(es。http://www.example.com/products/loremipsum-450x600.jpg)时,它会重定向到:http://www.example.com/resize/timthumb.php?src=http://www.moveshop.com/uploads/loremipsum.jpg&w=450&h=600
是否可以在没有重定向的情况下重写? 感谢
- 我的htaccess文件是:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(products)/(.*)-([0-9]{1,4})x([0-9]{1,4}).(jpg) http://www.example.com/resize/timthumb.php?src=http://www.example.com/uploads/$2.$5&w=$3&h=$4 [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>
答案 0 :(得分:2)
如果htaccess文件与目标位于同一服务器上(例如www.example.com
),则需要从规则和R
标记中删除主机/方案:
RewriteRule ^(products)/(.*)-([0-9]{1,4})x([0-9]{1,4}).(jpg) /resize/timthumb.php?src=http://www.example.com/uploads/$2.$5&w=$3&h=$4 [L]
如果它们不在同一台服务器上,那么您需要反向代理,这意味着您必须加载mod_proxy。您只需要将R
标志替换为P
标志:
RewriteRule ^(products)/(.*)-([0-9]{1,4})x([0-9]{1,4}).(jpg) http://www.example.com/resize/timthumb.php?src=http://www.example.com/uploads/$2.$5&w=$3&h=$4 [P,L]