gpt4 book ai didi

.htaccess - htaccess 将带有查询字符串的旧 URL 重定向到新的 SEO URL

转载 作者:行者123 更新时间:2023-12-02 00:11:40 24 4
gpt4 key购买 nike

我知道这是一个常见的问题,但我花了几个小时寻找答案,并且发现了太多不同的解决方案,而且彼此之间差异太大。我想知道实现该目标的“最佳”方式(最佳实践)是什么。

我的 htacces 文件看起来像这样:

RewriteEngine On

# Redirect non-www URLs to www-prefixed ones
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

# Redirect HTTPS requests to HTTP ones
RewriteCond %{HTTPS} =on
RewriteRule .* http://%{SERVER_NAME}%{REQUEST_URI} [R,L]

# Redirect URLs with trailing slashes to ones without it
RewriteRule ^([^/\.]+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

# Rewrite pretty URLs
RewriteRule ^([^/\.]+)$ index.php?page=$1 [L]

现在需要最后一个重要步骤:重定向旧 URL,如

http://www.domain.com/index.php?page=abchttp://www.domain.com/?page=abc

对于新的:

http://www.domain.com/abc

我知道我应该检查 {QUERY_STRING} 并将此重定向放在重写 URL 的最后一行之前,或者不应该?如何正确编写这样的规则?

最佳答案

要将 http://www.domain.com/index.php?page=abc 和 http://www.domain.com/?page=abc 重定向到新的使用这个额外的规则:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(?:index\.php)?\?page=([^\s]+) [NC]
RewriteRule ^ /%1? [R=301,L]

关于.htaccess - htaccess 将带有查询字符串的旧 URL 重定向到新的 SEO URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14999434/

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