在 .htaccess 上创建两个不同的规则:将一些 URL 重定向到我的旧网站,并为从我的旧网站到新网站的新闻创建 3



>我正在尝试了解如何重定向新网站上的一些尚未激活的网址,但将其他一些网址重定向到我的新网站上的新导入页面 例

我有和 joomla 网站我想重定向www.mywebsite.it/itold.mywebsite.it/it

但也有一些特殊的 301 重定向新闻和一些页面it/notizie/2036-slugnews.htmlnotizie/year/notizia/slugnews

我正在开发 Apache2,使用 mysql 5.7、php 7.2 和 October Cms。 启用mod_rewrite和拉拉维尔

阅读一些示例: https://www.danielmorell.com/guides/htaccess-seo/redirects/introduction-to-redirects

想象一下,我必须尝试编写一个条件,在/it/*之后获取所有网址,但插入一个例外来写入除 301 重定向之外的所有网址

老实说,无法弄清楚如何重定向写入条件。

你有什么建议吗?

您应该将特殊的 url 重定向放在 .htaccess 文件中的一般规则之前: 例如:

RewriteEngine on
RewriteRule ^it/notizie/2036-slugnews.html$ http://old.mywebsite.it/notizie/year/notizia/slugnews? [R=301,L]
RewriteCond %{HTTP_HOST} ^www.mywebsite.it$
RewriteRule ^(.*)$ http://old.mywebsite.it/$1 [R=301,L]

如果您不熟悉重定向,我可以建议 https://www.301-redirect.online/301 重定向生成器用于您的特殊页面到页面规则。这个生成器是我目前知道的最好的生成器。

此外,如果您的站点使用安全连接,请将 http://更改为 https://。

经过一系列试验,我找到了一个中间解决方案:

RedirectMatch 301 ^/it(.*)$ https://www.mysite.it$1
RewriteRule ^it/genericpage.html https://www.mywebiste.it/genericapagetoredirect? [R=301,L]
RewriteRule ^it/notizie/2002-slug.html https://www.mywebiste.it/notizie/2019/notizia/slugtoberedirected? [R=301,L]

通过这种方式,我将旧的 https://www.mysite.it/it 主页重定向到 https://www.mysite.it 以及一些具有一对一重定向的网址

但不是我的目标。

关于这个主题的推理我找到了最终的解决方案

我的目标是重定向 1(一堆带有重写URL 301的URL 2(所有未包含在列表中的链接一般重写url以 https://www.mysite.it 3(所有不良链接joomla网站从 www.mysite.it/it/tags/*和 www.mysite.it/it/components/*创建到 www.mysite.it

坦率地说,一般来说,目标是在谷歌搜索控制台中维护具有高权限的链接网址。

意识到这一点,我试图

RewriteRule ^it/genericpage.html$ https://www.mywebiste.it/genericapage? [R=301,L]
RewriteCond %{HTTPS_HOST} ^www.mysite.it$
RewriteRule ^it/$ https://www.mysite.it/? [R=301,L]

RewriteRule ^it/genericpage.html$ https://www.mywebiste.it/genericapage?[R=301,L]
RewriteCond %{HTTPS_HOST} ^www.mysite.it$
RewriteRule ^it(/.*) $1 [R=301,L]

但没有成功。

你觉得怎么样?

最新更新