首页 > 解决方案 > 如何使用 htaccess 将 url 重定向到特定的 url?

问题描述

我有如下网址

1.https://www.examples.com/demo-url/first-demo-url
2.https://www.examples.com/demo-url/second-demo-url

有多个如上所述的网址。现在我想将这些 URL 重定向到

https://www.examples.com/demo-another-url

.htaccess我可以通过在文件中写入多个 301 重定向来完成这些重定向。但我希望它应该在单个 301 重定向中重定向。

就像

 Redirect 301 https://www.examples.com/demo-url/* https://www.examples.com/demo-another-url

这可能吗?

标签: .htaccessredirect

解决方案


我们只能假设“-demo-url”是一个固定的字符串,可以用来识别这样的请求吗?如果是这样,那可能就是您正在寻找的:

RewriteEngine on
RewriteRule ^/?demo-url/.+-demo-url /demo-url [END]

或者,如果它是/demo-url可以作为识别锚的文件夹,那将是一种方法:

RewriteEngine on
RewriteRule ^/?demo-url/.+ /demo-url [END]

如果你不能命名这样一个可用于识别此类请求的字符串模式,那么显然你无法实现一般规则。

这使用了大多数 apache http 服务器安装提供的重写模块。它比提供Redirect指令的别名模块具有更大的灵活性。

如前所述,需要加载重写模块,并且必须为该位置(http 主机)启用重写。您应该更愿意将这些规则放在实际的 http 服务器的主机配置中。只有当您无权访问时,您才应该考虑使用分布式配置文件(通常命名为“.htaccess”)。


推荐阅读