關於htaccess,次層網域的問題,線上等
各位早上好,遇到的問題是
網站,有次層網域,現在可以正常訪問,但是不帶www的卻訪問到二級的去了,
以下為.htaccess代碼
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.518visa.net$
RewriteCond %{REQUEST_URI} !^/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /$1
RewriteCond %{HTTP_HOST} ^www.518visa.net$
RewriteRule ^(/)?$ / [L]
#以下為二級,如果有更簡單的希望指教,謝謝
RewriteCond %{HTTP_HOST} ^([A-Za-z]*[^www\b]).518visa.net$
RewriteCond %{REQUEST_URI} !^visalist/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^([A-Za-z]*[^www\b]).518visa.net$
RewriteRule ^([1-9]\d*).html($) visalist/visa_detail.php?id=$1
RewriteRule ^(/)?$ visalist/ [L]
網址為www.518visa.net,非外鏈廣告,麻煩看看,謝謝了。
紅框選中的,點進去為次層網域
我現在需要的就是不帶www訪問時直接轉到帶www,如abc.com/a.html轉到www.abc.com/a.html,我用了
RewriteCond %{HTTP_HOST} !^www.518visa.net$ [NC]
RewriteRule ^(.*)$ http://www.518visa.net/$1 [L,R=301]
這個也不行
謝謝了,線上等
------解決方案--------------------
我用的是如下:
#301
RewriteCond %{HTTP_HOST} ^xxx.net [nc]
RewriteRule ^(.*)$ http://www.xxx.net/$1 [L,R=301]
#aaaa.xxx.net - is OK
RewriteCond %{HTTP_HOST} (?!www
------解決方案--------------------
ww)^[a-z0-9\-]+.xxx.net$
RewriteRule ^/?$ /%{HTTP_HOST}
RewriteRule ^/([a-z0-9\-]+).xxx.net$ /1.php?keyword=$1
如果不行, 你看看你的apache裡面的documentroot設定了什麼
如果還不行, 你可以考慮用變通的方法。
建立一個xxx.net的web,然後在這個web裡面做一個htaccess 301到www