【问题标题】:How to redirect using .htaccess for https website如何使用 .htaccess 重定向 https 网站
【发布时间】:2022-08-02 13:14:13
【问题描述】:
RewriteEngine on  
RewriteCond %{HTTPS} off  
RewriteCond %{HTTP:X-Forwarded-SSL} !on  
RewriteCond %{HTTP_HOST} ^abc\\.in$ [OR]  
RewriteCond %{HTTP_HOST} ^www\\.abc\\.in$  
RewriteRule ^/?$ \"https\\:\\/\\/abc\\.in\\/\" [R=301,L]  

我正在使用下面的代码将我的用户重定向到 seo 友好页面,但我无法这样做。请帮帮我。

RewriteRule ^([A-Za-z0-9-]+)/?$ xyz.php?xyz=$1

例如
https://abc.in/xyz.php?xyz=this-is-an-example

https://abc.in/this-is-an-example

  • 你在浏览器中输入什么网址?
  • url 是从数据库中提取的。链接示例(this-is-an-example-link)。
  • @VikashKumar,您能否提供如下示例:http://localhost:80/Test_test/bla_bla_test 等。
  • @VikashKumar,对不起,这不清楚,我们在这里编写 htaccess 代码,所以主要用于用户在浏览器中点击链接或任何应用程序正在执行它时。但是你需要告诉我们完整的细节,在这里只给出 href 值对我们没有帮助,因为我们不知道太多细节。所以请让我们知道更多的细节。
  • \"但我不能这样做\" - 你需要更好地解释这一点。究竟发生了什么?你有错误吗?不受欢迎的重写/结果?一个错误?没有什么?你的例子是错误的方式。您应该从/this-is-an-example 重写为/xyz.php?xyz=this-is-an-example(根据您的RewriteRule 指令)。您的.htaccess 文件中还有哪些其他指令?这些指令的顺序是什么?

标签: .htaccess mod-rewrite


【解决方案1】:

尝试

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

不需要指定域,是否包含在环境变量HTTP_HOST


UPD:答案与之前的答案描述相关。

【讨论】:

  • 不工作@dragomirik
  • <a class="text-uppercase" href="<?php echo $row5['link']; ?>">
  • 问题似乎不是 HTTP 到 HTTPS 的重定向,而是“seo 友好页面”的实现。但是您还删除了可能在这里很重要的 OPs 指令元素。 “没有必要指定域”——好吧,OPs 规则将域规范化并将其仅应用于特定域——这可能很重要,也可能不重要。 OP 还在检查 X-Forwarded-SSL HTTP 请求标头,如果它们位于代理后面,这可能很重要。等等。
猜你喜欢
  • 2017-09-21
  • 2019-09-07
  • 1970-01-01
  • 1970-01-01
  • 2015-10-22
  • 2012-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多