gpt4 book ai didi

.htaccess - URL重写如何添加额外条件

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:33:39 27 4
gpt4 key购买 nike

我正在尝试将我的网站 URL 从 example.com 重定向到 www.example.com。通过使用下面的代码,它可以部分工作;所有以 example.com 开头的网站 url 都被重定向到 www.example.com

但是,在网站 url 中使用“index.php?slug=”时:example.com/index.php?slug=About 而不是被重定向www.example.com/About,url 被重定向到 www.example.com/index.php?slug=About

因此,结果是两个 url(www.example.com/Aboutwww.example.com/index.php?slug=About)都在工作并且显示相同的结果。

知道如何处理它以避免搜索引擎上的重复内容吗?我应该在此处添加哪些条件?

谢谢。

这是 htaccess 文件:

<IfModule mod_rewrite.c>
RewriteEngine on

# htaccess custom error messages
ErrorDocument 400 "Ooops - Bad request!"
ErrorDocument 403 "Strictly forbidden.."
ErrorDocument 401 "Speak friend and enter"
ErrorDocument 500 "Server gone wild.."

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?slug=$1 [L,QSA]

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

最佳答案

# htaccess custom error messages
ErrorDocument 400 "Ooops - Bad request!"
ErrorDocument 403 "Strictly forbidden.."
ErrorDocument 401 "Speak friend and enter"
ErrorDocument 500 "Server gone wild.."

<IfModule mod_rewrite.c>
RewriteEngine on

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

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?slug=$1 [L,QSA]
</IfModule>

您应该在任何 index.php 重写之前执行 www - 检查。

此外(这只是对您的代码的增强/修复),您不应将 ErrorDocument 调节为 mod_rewrite,因此它已移出堵塞。您还指定了两次 RewriteEngine on。您只需指定一次。

关于.htaccess - URL重写如何添加额外条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28492642/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com