我的客户有一个共享的托管服务提供商,因为他可以在1个托管帐户上设置多个域。我们有以下问题。
示例:如果您输入.. www.domain.com ...,请转到.. www.domain.com(没有错),但是,如果您键入domain.com(不带www。),则转到www.domain .com / domain.com
因此它会将您引导(一次)到与服务器同名的地图(在服务器上)。一次相遇之后。您可以单击“家”并转到www.domain.com,一切都很好。
因此,似乎只有在您在网址栏中输入不带www的情况下,这种一次转发才会发生。
hostingprovider声称它是一个编码问题,不是PHP,因为即使php文件完全没有任何代码,它也会发生,他们说这可能是htaccess问题,尽管我以前从未遇到过这个问题任何其他托管公司,但该公司未对此问题提供任何支持,所以我需要自己找到解决方案
当前的htacces代码是
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^cms/.*$ - [L]
RewriteRule ^test/.*$ - [L]
RewriteRule ^plesk-stat/.*$ - [L]
RewriteRule \.(gif|jpg|png|css|flv|js|swf|php|ico|webm|mp4)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+\.php)$ index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_URI} !(\.)
RewriteCond %{REQUEST_URI} !(\.)
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} .*
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
除此代码外,它还包含mod_deflate.c和mod_expires.c代码,但这似乎与问题无关
我找不到此htaccess文件在何处或如何造成此问题,我希望你们能为我提供帮助
答案 0 :(得分:0)
尝试使用此
RewriteCond %{HTTP_HOST} !^www
RewriteRule (.*) https://www.%{HTTP_HOST}/$1 [R=301,QSA,L]