Magento自定义URL重写不起作用

时间:2012-07-13 16:59:47

标签: url pdf url-rewriting url-routing magento-1.5

在我的网站上有一系列用于手册,小册子,MSDS等的pdf文件。下载这些文件的链接分散在“下载”区域,信息页面和产品页面中。我们会定期更新小册子,以便不必更新文件链接的每个页面,我需要知道如何在旧URL中创建重定向:

http://easypropondproducts.com/media/pdfs/EcoPondKitsBroch-MPF-109.pdf

将永久重定向到新网址

http://easypropondproducts.com/media/pdfs/EcoPondKitsBroch-MPF-512.pdf

我已经尝试过自定义网址重写,但它似乎无法正常配置: 类型:自定义 ID路径:/media/pdfs/EcoPondKitsBroch-MPF-109.pdf 请求路径:/media/pdfs/EcoPondKitsBroch-MPF-109.pdf 目标路径:http://easypropondproducts.com/media/pdfs/EcoPondKitsBroch-MPF-512.pdf 重定向:永久(301)

我做错了什么?有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您无法使用Magentos内部网址重写管理重写media文件夹中的文件。

这是因为指向Magentos media(或skinjs)文件夹的网址甚至没有到达index.php的中心入口点,但是已经过了直接

查看Magentos root .htaccess文件:

RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [L]

使用您的网址,第一个RewriteCond是不匹配的网址。此条件显示“如果网址不以/media//skin//js/”开头。

但您的网址 /media/开头。因此,它将重写为index.php,无法访问Magentos内部URL重写管理。

要实现您想要的效果,您可以在第一个RewriteCond之前插入以下行:

Redirect 301 /media/pdfs/EcoPondKitsBroch-MPF-109.pdf /media/pdfs/EcoPondKitsBroch-MPF-512.pdf