使用 Apache2 服务器从 URL 中删除字符串

使用 Apache2 服务器从 URL 中删除字符串

这应该很简单,我查看了许多现有问题,但仍然无法解决我的问题。我想我只是无法理解 RewriteRule 和 RedirectMatch 的工作原理。

我收到很多类似这样的服务器请求:http://www.yogacentersc.es/paginas/38-titulados-por-aipys?iframe=true&width=80%&height=80%

理想情况下,我想将所有这些不同的页面永久重定向到相同的页面,减去 ?iframe 和以下位。

最好的方法是什么,或者有哪些不同的方法可以做到这一点?

答案1

将以下内容添加到您想要的虚拟主机部分:

RewriteEngine on
RewriteCond %{QUERY_STRING} iframe=
RewriteRule (.*) /$1? [R=301,L]
  • 第一行启用重写引擎
  • 第二行检查查询字符串是否包含iframe=
  • 第三行$1是请求的反向引用。问号删除查询字符串。R=301强制重定向到 301 状态,L表示最后一条规则。

答案2

RewriteCond %{QUERY_STRING} iframe=
RewriteRule (.*) http://www.website.com/article-name-numbers/$1? [R=301]

试试看。您需要将其放在 .htaccess 文件中的每个文章文件夹中,因为每个文章文件夹都有不同的 URL。

相关内容