301 将带有特殊字符的 URL 重定向到主页 htaccess
Posted
技术标签:
【中文标题】301 将带有特殊字符的 URL 重定向到主页 htaccess【英文标题】:301 Redirect URLs with special characters to homepage htaccess 【发布时间】:2018-05-12 04:01:06 【问题描述】:我有大约 90 个这样的网址......
www.domain.com/index.php?page=about-us
www.domain.com/index.php?page=Testimonials
www.domain.com/index.php?page=contact-us-2
www.domain.com/index.php?mact=News,cntnt01,detail,0&cntnt01articleid=184&cntnt01origid=68&cntnt01returnid=68
等等。等等
我需要对包含 /index.php 的任何 URL 执行通配符 301 重定向?到主页。我该怎么办?
谢谢
【问题讨论】:
【参考方案1】:您可以在站点根目录 .htaccess 中将此规则用作您的第一条规则:
RewriteEngine On
RewriteCond %THE_REQUEST \s/+index\.php[?/\s] [NC]
RewriteRule ^ /? [L,R=301]
RewriteCond %QUERY_STRING ^(?:page|mact)= [NC]
RewriteRule ^ /? [L,R=301]
目标URI中/
之后的?
用于剥离index.php?
之后存在的任何查询字符串
【讨论】:
它没有工作,但我不认为这是因为你的代码。出于某种原因,我的网站看起来甚至在 URL 加载之前就删除了 index.php。这是一个wordpress网站。所以 url 变成 www.domain.com/?page=contact-us-2。如果我删除 '+index\.php' 会起作用吗?谢谢 like so... # BEGIN WordPressRewriteRule !^wp-admin/ /? [L,R=301,NC]
以上是关于301 将带有特殊字符的 URL 重定向到主页 htaccess的主要内容,如果未能解决你的问题,请参考以下文章
通过 htaccess 将 index.html 和所有 http、https、www 和非 www 版本的主页 URL 重定向到 https://www 根 URL 的 301
301 通过 .htaccess 将查询字符串重定向到 SEO 友好的 URL
尝试使用 301 redirectmatch 重定向旧 URL 是最接近的新 URL
使用 301 重定向重定向 404 是将现有页面重定向到主页