由于重复的网址,如何进行 301 重定向

发布于 2024-11-29 13:11:43 字数 805 浏览 0 评论 0原文

我目前正在尝试对我正在处理的网站的所有页面进行 301 重定向。问题是这个 url:

http://site.com/cash/ 
http://site.com/credit/

http://site.com/cash 
http://site.com/credit 

显示相同的页面

这将导致许多重复的 URL 问题并开始分割我们 SEO 的 PageRank。

我试图在我的网站上做到这一点,其中所有 seo 都指向非斜杠版本

顺便说一句,我有大约 90 个页面需要更改...有关实现此目标的好方法的任何想法

我如何进行 301 重定向在 htaccess 中在我的所有页面上执行此操作

编辑:

因此要正确理解。这将执行 301 重定向

# Remove the trailing slash
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC]
RewriteRule ^(.+)/$ http://www.example.com/$1 [R=301,L]

但这如何排除folder1

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

,我是否会将其放在同一个htaccess文件中或在folder1目录中创建另一个htaccess文件

I am currently trying to do a 301 redirect for all the pages of a site i am working on. The problem is that this url:

http://site.com/cash/ 
http://site.com/credit/

and

http://site.com/cash 
http://site.com/credit 

display the same pages

This will result in a number of duplicate URL issues and start splitting your PageRank of our SEO.

I was trying to do that on my site where all the seo points to the non-slash version

BTW I have about 90 pages that i have to change...any ideas on a good way of achieving this

How do i do a 301 redirect in the htaccess to do this on all my pages

Edit:

So to understand correctly. this will do the 301 redirect

# Remove the trailing slash
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC]
RewriteRule ^(.+)/$ http://www.example.com/$1 [R=301,L]

But how does this exclude folder1

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

and would i put that in the same htaccess file or create another htaccess file in the folder1 directory

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

相权↑美人 2024-12-06 13:11:43

您可以将以下内容添加到 .htaccess 中以删除尾部斜杠

# Remove the trailing slash
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC]
RewriteRule ^(.+)/$ http://www.example.com/$1 [R=301,L]

更新

然后您可以选择添加 www

RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301]

或将其删除

RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

You can add the following to your .htaccess to remove the trailing slash

# Remove the trailing slash
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC]
RewriteRule ^(.+)/$ http://www.example.com/$1 [R=301,L]

Update

You can then choose to also add www

RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301]

or remove it

RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
画中仙 2024-12-06 13:11:43

Rather than using a 301, you could just use a rel canonical link.

椵侞 2024-12-06 13:11:43

如果用于 Apache 服务器,您可以使用 mod_rewrite 来代替...它的效率极其低下,但如果您担心的是 SEO,则可能是最好的选择

You could use <shudder> mod_rewrite instead, if it's for an Apache server... It's disasterously inefficient but probably the best option if what you're bothered about is SEO

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文