linux URL的301重定向代碼分析
所以凡是使用linux的主機,我都會定義個301重定向,以利于SEO。昨天照例把htaccess傳到服務(wù)器上,沒想到傳上后網(wǎng)站無法訪問,一刪除就恢復(fù)正常??戳撕芏啾榇a,也沒發(fā)現(xiàn)什么問題。 干脆就重新學(xué)習(xí)下URL重寫方法。
規(guī)范化URL
描述:
在有些web服務(wù)器上,一個資源會擁有多個URL。在實際應(yīng)用和發(fā)布中應(yīng)該使用的是規(guī)范的URL,其他的則是簡寫或者只在內(nèi)部使用。無論用戶在請求中使用什么形式的URL,最終看見的都應(yīng)該是規(guī)范的URL。
解決方案:
對所有不規(guī)范的URL執(zhí)行一個外部HTTP重定向,以改變它在瀏覽器地址欄中的顯示及其后繼請求。下例中的規(guī)則集用規(guī)范的/u/user替換/~user,并修正了/u/user所遺漏的后綴斜杠。
RewriteRule ^/~([^/]+)/?(.*) /u/$1/$2 [R]
RewriteRule ^/([uge])/([^/]+)$ /$1/$2/ [R]
規(guī)范化主機名
描述:
這個規(guī)則的目的是強制使用特定的主機名以代替其他名字。比如,你想強制使用www.example.com代替example.com,就可以在以下方案的基礎(chǔ)上進行修改:
解決方案:
對運行在非80端口的站點
RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*) http://fully.qualified.domain.name:%{SERVER_PORT}/$1 [L,R]
對運行在80端口的站點
RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://fully.qualified.domain.name/$1 [L,R]
參考了上面的規(guī)則,發(fā)現(xiàn)自己原先的代碼里少了個!號,加上就恢復(fù)正常了。
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^do-javascript.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://www.do-javascript.com/$1 [r=301,nc]
相關(guān)文章
ubuntu中swap(虛擬內(nèi)存)設(shè)置方法
這篇文章主要介紹了ubuntu中swap(虛擬內(nèi)存)設(shè)置方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06Linux下PhpMyAdmin程序目錄結(jié)構(gòu)的安全管理
Linux下開發(fā)Web程序,現(xiàn)在很流行的開發(fā)方法為:用PHP開發(fā)Web程序,用Apache做Web Server,Mysql充當(dāng)后臺管理數(shù)據(jù)庫。2011-04-04Linux 3.X/4.x/5.x 忘記寶塔面板密碼的解決方法
在本篇文章里我們給大家整理的是關(guān)于忘記Linux 3.X/4.x/5.x 寶塔面板密碼的解決方案,有需要的朋友們可以學(xué)習(xí)下。2019-10-10LuManager圖文安裝使用教程和創(chuàng)建MysqL快速建站基本教程
這篇文章主要介紹了LuManager圖文安裝使用教程和創(chuàng)建MysqL快速建站基本教程,需要的朋友可以參考下2016-04-04CentOS7 LNMP+phpmyadmin環(huán)境搭建 第一篇虛擬機及centos7安裝
這篇文章主要介紹了CentOS7 LNMP+phpmyadmin環(huán)境搭建第一篇虛擬機及centos7安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07使用 bind 設(shè)置 DNS 服務(wù)器的方法
Bind9是一個強大的Linux下開放源代碼的DNS服務(wù)器軟件,這篇文章主要介紹了使用 bind 設(shè)置 DNS 服務(wù)器的方法,需要的朋友可以參考下2020-03-03