Magento自定义URL重写不起作用
在我的网站上有一个手册、小册子、MSDS等pdf文件的集合。下载这些文件的链接分散在“下载”区域、信息页面和产品页面上。我们定期更新手册,因此为了不必更新文件链接的每个页面,我需要知道如何创建重定向,其中旧URL: 将永久重定向到新URL 我尝试过自定义URL重写,但在配置时似乎不起作用: 类型:自定义 ID路径:/media/pdfs/ecopondkistbroch-MPF-109.pdf 请求路径:/media/pdfs/ecopondkistbroch-MPF-109.pdf 目标路径: 重定向:永久(301)Magento自定义URL重写不起作用,url,pdf,url-rewriting,url-routing,magento-1.5,Url,Pdf,Url Rewriting,Url Routing,Magento 1.5,在我的网站上有一个手册、小册子、MSDS等pdf文件的集合。下载这些文件的链接分散在“下载”区域、信息页面和产品页面上。我们定期更新手册,因此为了不必更新文件链接的每个页面,我需要知道如何创建重定向,其中旧URL: 将永久重定向到新URL 我尝试过自定义URL重写,但在配置时似乎不起作用: 类型:自定义 ID路径:/media/pdfs/ecopondkistbroch-MPF-109.pdf 请求路径:/media/pdfs/ecopondkistbroch-MPF-109.pdf 目标路
我做错了什么?有什么方法可以做到这一点吗?您不能使用Magentos内部URL重写管理来重写
媒体
文件夹中的文件
这是因为指向Magentosmedia
(或skin
或js
)文件夹的URL甚至没有到达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]
对于您的URL,第一个RewriteCond
是不匹配的。此条件表示“如果URL不是以/media/
或/skin/
或/js/
开头”
但是您的URL确实以/media/
开头。因此,它不会被重写为index.php
,也无法到达Magentos内部URL重写管理
要实现您想要的,您可以在第一个RewriteCond
之前插入以下行:
Redirect 301 /media/pdfs/EcoPondKitsBroch-MPF-109.pdf /media/pdfs/EcoPondKitsBroch-MPF-512.pdf
谢谢,我在那里真的很沮丧,但我明白为什么现在不行了。我试过你的解决办法。htaccess文件,但它导致了一个内部服务器错误,幸运的是我备份了旧的.htaccess文件,并能够使一切恢复正常。我能做些什么呢?只要在Apache配置中启用了
mod_alias
,使用Redirect
指令就会起作用(通常总是这样)。我刚刚在Ubuntu、RHEL和Windows下运行的几个Magento安装上进行了测试,插入这行代码对我来说都能正常工作。我不知道为什么它不应该在您的环境中工作,除非mod_alias
被禁用,或者您没有正确插入行。向我们展示请求PDF的结果是内部服务器错误时正在使用的.htaccess
文件可能会有所帮助。以下是有效的方法,我将在现在有效的重定向下发布将来的重写,谢谢您的帮助!#启用重写选项+跟踪重定向301/media/pdfs/ecopondkistbroch-MPF-109.pdf上的Symlinks重写引擎#####您可以将您的magento根文件夹###相对于web根的路径#RewriteBase/magento/#####在CGI环境重写规则中的HTTP授权解决方法#.-[E=HTTP\U授权:%{HTTP:authorization}]