.htaccess如何友好地转换此URL?

时间:2013-11-27 20:30:19

标签: apache .htaccess mod-rewrite url-rewriting

任何问题社区

如何在友情链接中转换此网址?

RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^/2/1281-home/Breakin-Em-In-7.jpg$ %{ENV:REWRITEBASE}img/p//2/2-1281-home.jpg [L]

我试试。 。 ..但不工作

RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)/(\-[_a-zA-Z0-9-]*)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/?$4//?$4-$1-$2.jpg [L]
请帮助我!!!

查看数据库的图像---->

http://s13.postimg.org/63mrxn3if/IDPRODUCT.jpg

我的.htaccess --->

    RewriteEngine on     RewriteCond%{HTTP_HOST} ^ mydomain.com $     重写规则。 - [E = REWRITEBASE:/ presta1_5 /]     RewriteRule ^ api /?(。*)$%{ENV:REWRITEBASE} webservice / dispatcher.php?url = $ 1 [QSA,L]

# Images

RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]

# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^.*$ - [NC,L]
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule . - [E=REWRITEBASE:/presta1_5/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]


</IfModule>

#If rewrite mod isn't enabled
ErrorDocument 404 /presta1_5/index.php?controller=404

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

2 个答案:

答案 0 :(得分:0)

为什么有两个斜线? RewriteRule ^ 1281-home / Breakin-Em-In-7.jpg $%{ENV:REWRITEBASE} img / p / * / * 2 / 2-1281-home.jpg [L]

答案 1 :(得分:0)

准备!!!解决!!

通过帖子 - &gt; http://forums.phpfreaks.com/topic/155511-solved-htaccess-and-my-images-folder/

不要对图像使用重写。您需要在img src元素中正确设置路径。如果您的图像文件夹位于根目录下 &LT; img src =“/ images / image.jpg”/&gt;

不 &LT; img src =“images / image.jpg”/&gt;