【问题标题】:https and htaccess redirectshttps 和 htaccess 重定向
【发布时间】:2017-07-15 13:05:02
【问题描述】:

我目前在我的 .htacess 中使用以下代码将非 www 重定向到 www 并将 /pages(内部)重定向到 /pages.php 等。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^absoluteglazing.co.uk [NC]
RewriteRule ^(.*)$ http://www.absoluteglazing.co.uk/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+)$ $1.php [L,QSA]'

现在我已经切换到 https,这不再有效。

有人可以告诉我如何使用 htaccess 实现以下功能,因此它仍然可以在 https 上运行...

  • 将非 www 重定向到 www,这样每个人都可以看到带有 www 的网站
  • 将非 https 重定向到 https,以便每个人都能获得安全连接
  • 在内部将 /pages 重定向到 /pages.php 以删除扩展名

非常感谢

【问题讨论】:

标签: php .htaccess redirect mod-rewrite


【解决方案1】:

要将 http 重定向到 https://www 并删除 .php 扩展名,您可以使用以下规则。

RewriteEngine on
#http to https +non-www to www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R]
#rewrite /page to /page.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*?)/?$ /$1.php [L]

【讨论】:

  • 刚试过这个,它告诉我重定向太多,这就是我尝试过的一些代码得到的结果。
  • @TerryH 尝试清除浏览器缓存或尝试使用不同的浏览器进行测试。
  • 还是一样,我在谷歌浏览器中不断收到太多重定向错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
  • 2011-01-02
  • 2016-11-08
  • 1970-01-01
  • 2022-01-11
相关资源
最近更新 更多