讓人們訪問我的網站,無論他們是否輸入www。在前面或不是我在哪裏放置.htaccess文件來做到這一點,因爲我已經嘗試過,它不會工作。重定向非www。 URL與URL的URL
我現在知道我需要將.htaccess放在非www上。服務器,並且需要知道如何訪問它以將其放置在那裏。
讓人們訪問我的網站,無論他們是否輸入www。在前面或不是我在哪裏放置.htaccess文件來做到這一點,因爲我已經嘗試過,它不會工作。重定向非www。 URL與URL的URL
我現在知道我需要將.htaccess放在非www上。服務器,並且需要知道如何訪問它以將其放置在那裏。
您需要將此文件放在該文件夾的根目錄中。確保該文件被稱爲.htaccess,並且在末尾沒有擴展名,即.htaccess.txt。
如果在您的網站保持例如目錄
/var/www/mysite
那麼這是該文件需要放置的目錄。根據你的web服務器的設置,apache可能不允許使用htacess文件。爲了克服這個,請執行以下操作
cd /etc/apache2/sites-available
,並打開「默認」在你的編輯器或選擇,如
sudo nano default
默認設置了AllowOverride是沒有的,它應該是所有的,所以你的整體「默認」的文件應該是這樣的:
NameVirtualHost *
ServerAdmin [email protected]
DocumentRoot /var/www/
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
如果您沒有ssh訪問權限,您可能需要與您的網絡主機通話。
附加評論 如果htaccess文件被確認爲再工作,你需要將以下代碼添加到htaccess文件:
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
這將所有流量轉發到http://site.com
或爲各地
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
這兩種其他方式顯然需要你用你的站點地址替換example.com。這是實現這一點的一種方法,或者您可以在您的apache虛擬主機文件中爲該特定站點添加一個ServerAlias。
1.您可能需要正確設置DNS以告訴其他人將「www.xxx.yyy」映射到與xxx.yyy相同的地址。 2.你可能想正確設置配置文件的'VirtualHost'(接受'www.xxx.yyy'和'xxx.yyy'),但我不知道如何完全做到這一點。 – JiminP