【问题标题】:joomla - SEO settings and mod_rewritejoomla - SEO 设置和 mod_rewrite
【发布时间】:2011-01-30 20:09:16
【问题描述】:

我使用的是 Joomla 1.5.14,我按照下图配置了 SEO

现在我需要将一些旧网址映射到新网站

假设我需要将 htp://mysite/old.html 映射到新的 Joomla 页面

http://mysite/index.php?option=com_content&view=article&id=32&Itemid=70

我在我的 .htaccess 文件中添加了以下内容

RewriteRule ^old\.html$ index.php?option=com_content&view=article&id=32&Itemid=70  #works!!

这很好用,但是如果我在 .htaccess 中使用 SEF URL(假设上面的页面可以通过 htp://mysite/contacts.html 访问),我会收到 404 错误

RewriteRule ^old\.html$ contacts.html   #this does not work

现在的问题是:

是否可以在 RewriteRule 中使用 SEF URL?我哪里错了?

提前谢谢你

斯特凡诺

【问题讨论】:

  • 请记住,StackOverflow 用于开发问题,服务器配置请关注serverfault.com
  • 好的(顺便说一句:我在这里看到了很多关于 mod_rewrite 的问题,但找不到我的问题的解决方案)
  • 这很好,IMO,反正它是某种编程。

标签: mod-rewrite seo joomla


【解决方案1】:

我认为问题是因为 Apache 将old.html 重写为一个实际上并不存在的页面,而是以不同的规则重写。

如果你真的想“重写”——换句话说,让页面在浏览器中保持为old.html——那么你不需要做任何事情。

但是,为了避免重复内容,最好进行 301 重定向:

Redirect 301 old.html http://yoursite.com/contact.html

old.html 前面可能需要一个正斜杠)

【讨论】:

  • 谢谢!我认为您对 Apache 将 old.html 重写为不存在的页面是正确的(即使 mod_rewrite 应该在 joomla 内容之前“运行”)。重定向有效,即使它增加了往返,我不知道它是否有任何 SEO 反指示
  • 据我所知,这通常对 SEO 更好,因为您为 Google 等提供了每个内容的一个 URL,并告诉它计算 old.html 的链接,就好像它们是链接一样对于contact.html
猜你喜欢
  • 2012-12-25
  • 1970-01-01
  • 2012-01-08
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多