程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> apache/tomcat的JSP對URL重寫的SEO優化/二級域名的要點

apache/tomcat的JSP對URL重寫的SEO優化/二級域名的要點

編輯:關於JSP

Apache是用了很長時間,但也只是用了很長時間,要說精通還談不上。所以這四五天存在著補課的味道在裡面:既然公司不能提供好的系統管理員,也只能是自已兼任了。經過對Apache和tomcat結合後的進行SEO優化的處理,四五天後,對這幾件工具的基本邏輯框架有了統一的認識。
對URL重寫的了解需要是針對這樣的需求:偏向於HTML的SEO搜索引擎優化,以及提供不定量的二級域名便於模塊管理和推廣。搜索引擎不能識雖動態頁面在技術上是不可能的;我認為最大的可能在於對於靜態的hardlink,如果不存在搜索引擎會得到一個404標識;而對於動態頁面,反應就不一定了。這樣就不便於搜索引擎對索引維護和分目。
對Apache mod_rewrite的深入了解後,發現在它的文檔和介紹文章中常常缺少幾個關鍵性的導引;而過快地涉及到具體的細節。要理解mod_rewrite的工作,首先是要理解,mod_rewite是針對目錄進行工作的。換言之,每一個目錄的RewriteRule是各自獨立的,每個目錄的重寫既是最高層的容器同時也是最低層的容器,因此,RewriteRule定義的地方是在各個目錄所在的位置,<Directory $dir/> 或者是所在目錄的.htaccess中。
其次,mod_rewrite是缺乏邏輯功能的平面型規則集合,因此每一個目錄設置中都是每一條規則地進行重復性轉換,[L]僅僅是表明一次匹配結束,它還需要重新匹配,直接沒有任何條目與之匹配後才會輸出請求,這樣,如果規則稍多不但性能會直線下降,而且還很容易陷入混亂,所以 mod_rewrite要慎用,使用mod_rewrite來匹配二級域名要小心。對此,mod_rewrite設計者是期望使用正則表達式匹配,或允許用戶調用perlShell作為復雜匹配邏輯上的應用。但這樣就令開發變得復雜起來了。
由於 mod_rewrite是基於目錄級的,所以它的優先級低於虛擬主機設置;而VirtualHost主機的優先級也低於 VirtualDocumentRoot的泛虛擬主機設置。由於VirtualHost的ServerName基於IP頭的匹配不能使用正則表達式,因此,使用VirtualDocumentRoot設置多級域名存在著非常大的限制,應用稍微多元化就會面臨著難以克服的沖突。因此,單純使用虛擬主機或者是URL 重寫都是不太有效率的,這時侯主要路徑應該是使用html導引,這樣既可以滿足SEO喜歡hardlink的要求,也不會影響到使用者的浏覽;最重要的是,可以把主要解決方案集中到一個應用程序的范籌,簡化了項目技術,也就降低了項目的成本。
使用mod_rewrite和二級域名的站點基本上使用php大概是基於這樣的原因:會話的一致性維護。當mod_rewrite應用到jsp站點時存在著很大的復雜性。由於mod_rewrite是針對目錄進行的,它必然干擾到目錄的運作;而jsp的上下文由於根據基礎目錄作為應用程序的判斷的;這樣,在目錄清晰的情況下,jsp在不同的域名和虛擬主機下面都能正常識別到所維護的會話,但一旦目錄不齊全,象使用二級域名,無論這個目錄解釋是來源於 URL重寫還是虛擬主機設設置,浏覽器都會把它看作是兩個會話請求,從而造成混亂。因此,在jsp站點使用二級域名,除了使用硬的html連接導引外,別無它法。當然,使用Redirect方式可以解決問題的,表面上,但這樣的話就失去了SEO的意義;而URL重寫本來就是為了SEO而進行的;那麼又何必搞重寫呢?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved