使用.htaccess更新url结构

时间:2011-12-05 18:34:28

标签: .htaccess joomla web

我不知道该怎么做。基本上情况是我有一个非技术客户端使用Joomla内容上传器将pdf上传到他的网站。由于他对这些问题知之甚少,我无法改变他上传pdfs的方式。但是,当他上传这些文件时,会在http://www.website.com/images/stories/mktinsights/somepdf.pdf访问这些文件,但当他在文章中点击这些链接时,他会http://www.website.com/resources/images/stories/mktinsights/somepdf.pdf

我的问题是,.htaccess中是否有一种方法可以删除/ resources /而不会破坏使用此结构的其他链接。

希望我的问题有道理。 感谢。

2 个答案:

答案 0 :(得分:1)

解决这个问题的最简单方法是使用符号链接。

或者,如果您有权访问,则可以使用apache Alias声明:

Alias   /mktinsights    /resources/images/stories/mktinsights

答案 1 :(得分:1)

第一个问题是为什么会发生这种情况?当他创建pdf文件的链接并且您在保存内容之前查看源(在编辑器中)是“资源”路径的一部分吗?如果没有,那么正在进行某种重定向或网址重写,需要跟踪和删除。如果“资源”确实构成了路径的一部分,那么您需要找出原因。这绝对不是默认的Joomla行为,可能是由加载项引起的,也可能是由设置引起的。检查全局配置以查看是否包含“资源”的任何内容可能是个主意。

如果他使用的是非标准的WYSIWYG编辑器,则可能值得(暂时)切换到默认编辑器以查看行为是否发生变化。如果他正在使用某种第三方“链接器”插件(通常是WYSIWYG编辑器下方的按钮),请尝试手动插入链接,或使用其他机制(具体取决于使用的编辑器)。

如果所有其他方法都失败了 - 并且只有在其他所有方法都失败的情况下 - 添加到.htaccess文件中的以下行应该有效。在RewriteBase行之后添加它 - 但在Joomla的其余重写之前:

RewriteRule resources/(.*)$ $1 [L]

我注意到有些服务器似乎需要在资源之前使用斜杠,而其他服务器则不需要。如果它不起作用,则添加它。

哦,如果您在网站的根目录中没有名为.htaccess的文件,您需要告诉您的FTP客户端显示“点”文件或“隐藏”文件,或者如果没有人这样做已经将htaccess.txt文件重命名为.htaccess(以点开头,没有其他文件后缀)。