2017-03-16 84 views
0

我有一個在CodeIgniter HMVC開發的網站。我使用的協議是https協議。CodeIgniter .htaccess問題www和非www網址

我希望只使用非www網址,https://seocompany.us.com

如果有人嘗試使用https://www.seocompany.us.com,它應該重定向到https://seocompany.us.com

這裏是我的.htaccess代碼,如果我使用的是正常工作,https://seocompany.us.com/services但增加index.php如果我鍵入https://www.seocompany.us.com/services並重定向到https://seocompany.us.com/index.php?/services

RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?/$1 [L] 

    RewriteCond %{SERVER_PORT} 80 
    RewriteRule ^(.*)$ https://seocompany.us.com/$1 [R,L] 

回答

1

@Tpojka謝謝你的幫助。最後我解決了這個問題。我在這裏分享我的解決方案。

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ https://%1/$1 [R=301,L] 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
1

你只檢查是否要求我是否通過安全方案端口製作。您不檢查子域名前綴。試試這種方式:

RewriteBase/

# force https 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

# force non-www 
RewriteCond %{HTTP_HOST} ^www\.seocompany\.us\.com [NC] 
RewriteRule ^(.*)$ http://seocompany.us.com/$1 [R=301] 


RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

也清除瀏覽器緩存或嘗試從其他瀏覽器/私人窗口。

+0

這不是工作,我輸入這個網址:http://seocompany.us.com/seo-web-design,它不重定向到https://seocompany.us.com/seo -網頁設計。 –

+0

我做了一些改動,現在就試試。 – Tpojka

+0

同樣的問題。不用找了。我嘗試在Chrome瀏覽器和Firefox隱私模式。 –