0

我用新设计的旧网页重建了网站,其网址以 .html 结尾。网页有 3 种语言。域保持不变。

我打算做几件事:

  1. 删除所有网址末尾的 .html。
  2. 将旧新闻文章重定向到主要新闻(2 种语言)目录。
  3. 从主要语言中删除语言代码 /lv。
  4. 重写没有 /lv 和 html 的主要语言新闻文章 url。

主要产品/联系人/信息我将使用 joomla 内置的重定向系统手动重定向(它们很少),但新闻文章很旧(每种语言大约 500 篇),我想将 /en 和 /ru 重定向到基于语言的新闻类别。

我导出到新网页的主要语言新闻,但现在他们最后没有语言代码 /lv 和 .html。

旧网址看起来像:http: //vervo.lv/ru/news/43-jaunumi/538-2012gad-transporta-joma-butiski-attistjusas-attiecibas-ar-afganistanu.html

我计划将它们重定向到 mysite.lv/ru/novosti、mysite.lv/en/news

是否可以将目录 mysite.lv/ru/news.html 中的所有内容重定向到 mysite.lv/ru/news 并且对于 3 种语言都一样?不重定向其他东西?

你能建议如何正确地做到这一点。我不是程序员。只是高级 joomla 用户。

4

2 回答 2

0

是的,这可以通过 .htaccess 和 mod_rewrite 实现。如果它不起作用,请尝试评论或删除 Options +FollowSymLinks 行。

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    # Remove .html
    RewriteRule ^(.*)\.html$ /$1 [NC]

    # Strip main language code
    RewriteRule ^lv/(.*) /$1 [NC,R=301,L]

    # Redirect old to new RU news
    RewriteRule ^ru/news/43-jaunumi/(.*) /ru/novosti/$1 [NC,R=301,L]

    # Redirect old to new EN news
    RewriteRule ^en/news/43-jaunumi/(.*) /en/news/$1 [NC.R=301,L]
</IfModule>
于 2013-01-06T21:01:33.297 回答
0

一种更简单的非程序员方法可能是使用 SEF 组件(或 joomla 重定向),但这比实现 mrfeelgood 的解决方案需要更长的时间。尝试 sh404 以获得易于使用的解决方案。

于 2013-01-25T08:13:07.083 回答