2012-07-13 69 views
2

在我的网站上有一些手册,宣传册,MSDS等pdf文件的集合。下载这些文件的链接分散在“下载”区域,信息页面和产品页面。我们定期更新的宣传册这样才能去更新该文件的链接从我需要知道如何创建一个重定向每一个页面,旧网址:Magento自定义URL重写不起作用

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

将永久重定向到新的URL

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

我曾尝试定制URL重写,它似乎并没有工作,我怎么了相应的配置: 类型:定制 ID路径:/媒体/ PDF文件/ EcoPondKitsBroch-MPF -109.pdf 请求路径:/media/pdfs/EcoPondKitsBroch-MPF-109.pdf 目标路径:http://easypropondproducts.com/media/pdfs/EcoPondKitsBroch-MPF-512.pdf 重定向:永久(301)

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

回答

1

通过使用Magentos内部URL重写管理,您不能重写media文件夹中的文件。

这是因为网址指向Magentos media(或skinjs)文件夹甚至没有在index.php到达中央入口点,但供应直接

看看Magentos根.htaccess文件:

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

有了您的网址,第一RewriteCond是一个不匹配。该条件说“如果URL不以/media//skin//js/开头”。

但是您的网址确实/media/开头。因此它会将而不是重写为index.php,并且无法到达Magentos内部的URL重写管理。

达到你愿意,你可以在第一RewriteCond前右侧插入下面一行的内容:

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

谢谢,我真的感到沮丧,但我明白为什么,这不是现在的工作。我尝试了你的解决方案。 htaccess文件,但它导致了内部服务器错误,幸运的是我做了旧的.htaccess的备份,并能够恢复正常。我能做些什么? – Pat 2012-07-17 19:00:27

+0

只要在Apache配置中启用了“mod_alias”(通常总是这样),就可以使用“Redirect”指令。我只是在Ubuntu,RHEL和Windows下运行的几个Magento安装中进行了测试,并按照预期为我插入了所有这些行。我不知道为什么它不应该在你的环境中工作,除了'mod_alias'被禁用,或者你没有正确插入行。向我们展示在请求PDF的结果是内部服务器错误时使用的.htaccess文件可能会有所帮助。 – 2012-07-18 09:59:54

+0

这是什么工作,我只是张贴未来重写下现在工作的重定向,谢谢你的帮助! ##能够重写 选项+的FollowSymLinks RewriteEngine叙述 上 重定向301 /media/pdfs/EcoPondKitsBroch-MPF-109.pdf http://easypropondproducts.com/media/pdfs/EcoPondKitsBroch-MPF-512.pdf ##您可以将您的Magento的根文件夹 ##的相对路径放到这里以Web根 #RewriteBase/Magento的/ ##变通方法在CGI环境HTTP授权 ## 重写规则* - [E = HTTP_AUTHORIZATION:%{HTTP:授权}] – Pat 2012-07-19 12:10:51