【问题标题】:Updating url structure with .htaccess使用 .htaccess 更新 url 结构
【发布时间】:2011-12-06 06:54:23
【问题描述】:

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

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

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

【问题讨论】:

    标签: .htaccess joomla web


    【解决方案1】:

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

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

    如果所有其他方法都失败 - 并且仅当所有其他方法都失败时 - 添加到 .htaccess 文件中的以下行应该可以工作。在 RewriteBase 行之后添加它 - 但在 Joomla 的其余重写规则之前:

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

    我注意到有些服务器似乎需要在资源前加上斜线,而另一些则不需要。如果没有它不起作用,那么添加它。

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

    【讨论】:

    • 谢谢,奇怪的是他在同一个站点的不同页面上有类似的设置,但它的行为不是这样
    【解决方案2】:

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

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

    Alias   /mktinsights    /resources/images/stories/mktinsights
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-07
      • 2012-08-10
      • 1970-01-01
      • 2011-02-09
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多