Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento自定义URL重写不起作用_Url_Pdf_Url Rewriting_Url Routing_Magento 1.5 - Fatal编程技术网

Magento自定义URL重写不起作用

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 目标路

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

将永久重定向到新URL

我尝试过自定义URL重写,但在配置时似乎不起作用: 类型:自定义 ID路径:/media/pdfs/ecopondkistbroch-MPF-109.pdf 请求路径:/media/pdfs/ecopondkistbroch-MPF-109.pdf 目标路径: 重定向:永久(301)


我做错了什么?有什么方法可以做到这一点吗?

您不能使用Magentos内部URL重写管理来重写
媒体
文件夹中的文件

这是因为指向Magentos
media
(或
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}]