使用尾部斜杠重定向网址

问题描述 投票:0回答:2

我的网站目前在线是完全静态的,所有的网址末尾都有一个斜杠:https://www.website.com/blog/article-1/

我正在使用Prestashop的新网站上工作。在Prestashop上,URL没有尾部斜杠:https://www.website.com/blog/article-1

问题:我在我当前的网站上有一个很好的SEO,我需要保持实际的URL(带斜杠)。对于用户体验,我希望URL可以使用或不使用尾部斜杠。

如何将新网址重定向到相同的网址+尾随斜杠?如果可能,我想重写URL,以便用户始终看到带有斜杠的URL。

示例:

https://www.website.com/blog/article-1/被重定向到https://www.website.com/blog/article-1,地址栏中显示的URL是https://www.website.com/blog/article-1/

.htaccess url prestashop
2个回答
0
投票

好吧,问“如何将我的新URL重定向到相同的URL +尾部斜杠”...

答案显然是:通过严格执行该规则。在这里,仅有数千个这样的例子。这些都没有帮助吗?为什么不?

无论如何,这是另一个:

RewriteEngine on
RewriteRule ^/blog/([^/]+)$ /blog/$1/ [R=301]
RewriteRule ^/blog/([^/]+)/$ /blog/$1 [END] 

您需要注意使用此设置发送带有前导斜杠的引用。因为否则你的网站会变得很慢,因为客户端必须要求每个页面两次,因为每个页面需要重定向...

一旦确定所有内容都已正确设置,最好先使用302临时重定向,然后再将其更改为301永久重定向。这可以防止在尝试时出现缓存问题......

如果您使用上述规则收到内部服务器错误(http状态500),那么很可能您运行的是非常旧版本的apache http服务器。在这种情况下,您将在http服务器错误日志文件中看到对不受支持的[END]标志的明确提示。您可以尝试升级或使用较旧的[L]标志,在这种情况下它可能会起作用,但这取决于您的设置。

此规则同样适用于http服务器主机配置或动态配置文件(“.htaccess”文件)内部。显然,重写模块需要加载到http服务器内并在http主机中启用。如果您使用动态配置文件,则需要注意在主机配置中完全启用它的解释,并且它位于主机的DOCUMENT_ROOT文件夹中。

一般说法:您应该始终更喜欢将此类规则放在http服务器主机配置中,而不是使用动态配置文件(“.htaccess”)。这些动态配置文件增加了复杂性,通常是导致意外行为的原因,难以调试,它们确实会降低http服务器的速度。它们仅作为最后一个选项提供给您无法访问真正的http服务器主机配置(读取:非常便宜的服务提供商)或坚持编写自己的规则的应用程序(这是一个明显的安全噩梦)。


0
投票

如果您的意思是默认的prestashop链接,如产品,类别等,您可以改变他们的构建方式。 Prestsahop允许我们在管理面板Configure->Shop Parameters->Traffic & SEO->SEO and URL's>Schema of URLs(PS 1.7)中实现这一点。并且更改了感兴趣的URL,例如,从{id}-{rewrite}{id}-{rewrite}/的路由到类别。而且你不需要重定向任何东西。

© www.soinside.com 2019 - 2024. All rights reserved.