重定向失败至许多重定向-URL中的WWW

问题描述

我有一个网站,当我输入https://i.stack.imgur.com/7SGbK.png时,我看到很多重定向提示错误,但是如果我只使用mywebsite.co.uk,它的路由就可以了。

下面是我的.htaccess和即时通讯,它使用的是Yii2 Advanced App

有人可以提供任何帮助吗?

RewriteEngine on

# hide files and folders
RedirectMatch 404 /_protected
RedirectMatch 404 /\.git
RedirectMatch 404 /composer\.
RedirectMatch 404 /.bowerrc

# If a directory or a file exists,use the request directly

RewriteBase /

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


# Otherwise forward the request to index.PHP
RewriteRule . index.PHP

<IfModule mod_deflate.c>
  # Compress HTML,CSS,JavaScript,Text,XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/RSS+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  browserMatch ^Mozilla/4 gzip-only-text/html
  browserMatch ^Mozilla/4\.0[678] no-gzip
  browserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append vary User-Agent
</IfModule>

解决方法

太多请求总是表示您正在通过.htaccess中的规则创建循环,因此页面会继续重新加载或无法加载,从而导致页面重新加载并最终超时。这就是我控制URL访问的方式;

 # Start rewrite rules
 RewriteEngine On
 RewriteBase /

 # HTTPS on & remove www prefix
 RewriteCond %{HTTPS} off [OR]
 RewriteCond %{HTTP_HOST} ^www\. [NC]
 RewriteRule ^ https://mywebsite.com%{REQUEST_URI} [L,NE,R=301]

 # Remove html extension
 RewriteCond %{SCRIPT_FILENAME}.html -f
 RewriteRule [^/]$ %{REQUEST_URI}.html [QSA,L]
 RewriteRule ^(.+)\.html$ /$1 [R=301,L]

 # Remove php extension
 RewriteCond %{SCRIPT_FILENAME}.php -f
 RewriteRule [^/]$ %{REQUEST_URI}.php [QSA,L]
 RewriteRule ^(.*)/$ $1 [R=301,L]

 # 301 redirect index to https
 Redirect 301 /index https://mywebsite.com