【问题标题】:htaccess Redirect URL of Subdirectories managed through CMS通过 CMS 管理的子目录的 htaccess 重定向 URL
【发布时间】:2013-02-12 10:57:31
【问题描述】:

我们网站的所有网址都是写www.mydomain.com/sub1/cms/pagename

通过CMS我们可以指定pagename

sub1cms 实际上并不是服务器上的目录。

我们需要更改页面名称以对 SEO 更友好,但我们仍然希望旧页面名称的任何流量都指向新页面名称。

我尝试制作一个 .htaccess 文件,指定:

Redirect 301  /sub1/cms/oldpagename mydomain.com/sub1/cms/newpagename

但它不起作用。

我已经成功了:

Redirect 301  /oldpagename mydomain.com/sub1/cms/newpagename

这可以通过 .htaccess 以某种方式完成吗?

【问题讨论】:

    标签: .htaccess redirect content-management-system seo


    【解决方案1】:

    首先,确保您的 301 重定向规则使用完整的 url,包括 http:// 部分。

    Redirect 301 /sub1/cms/oldpagename http://mydomain.com/sub1/cms/newpagename
    

    其次,在我看来,您的 CMS 设置了重写规则来处理 /sub1/cms/pagename 样式的 url。如果此规则出现在您的重定向之前,您的重定向将永远不会被触发。尝试将重定向移动到 .htaccess 文件的顶部。

    【讨论】:

    • 好的,我已经包含了 http:// 我只需要省略它才能在此处发布,因为 stackoverflow 将它作为链接拾取。我先试试这个规则,是否可以覆盖cms实现的规则?
    • 是的,如果规则是第一个,它应该是使用的那个。
    • 将您的网址放在代码块中可防止本网站对其进行热链接。
    • 感谢您提供有关插入网址的提示。问题是用于指导页面名称的 cms 规则不是通过 .htaccess 委托,而是通过一系列 xsl 样式表委托。我发现这篇文章可能符合我需要做的事情:getsymphony.com/discuss/thread/31007/2 现在 xsl 模板匹配写如下:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2021-06-15
    • 2022-12-09
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多