2011-05-23 123 views
3

我建設我的第一個搜索引擎友好的CMS工作。我知道,擁有和搜索引擎優化網站的最大關鍵之一可能是搜索引擎友好的網址。因此,有這樣一個環節:搜索引擎友好的URL

http://www.mysite.com/product/details/page1 

將導致更好的排名比一個像這樣的:

http://www.mysite.com/index.php?pageID=37 

我知道,像第一個建立的網址,我有一二選項:

  • 使用網頁技術,在這種情況下,PHP,創建一個目錄結構
  • 利用Apache的mod_rewrite加載項將這些URL傳遞給PHP處理器

就PHP而言,我對任何事情都很滿意。不過,我認爲第一種選擇會更難以維持。

有人能告訴我如何寫一個.htaccess文件,該文件將:

  • 默默直接SEO的URL處理器腳本,如果請求的URL是在服務器上的實際目錄
  • 沒有重定向

難道還有比我想的方式更好的辦法?

+1

這裏有一個關於mod_rewrite的一個很好的[** **教程(http://corz.org/serv/tricks/htaccess2.php)。 – 2012-09-29 20:13:51

回答

7

可以使用的.htaccess爲Apache,在網站的根文件夾中創建的文件主要是「htdocs目錄」命名「的.htaccess」下一個內容在你的PHP文件,你可以訪問數據添加到它

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
    Options -Indexes 
</IfModule> 

從$ _GET

$_GET['url']; 

然後你可以用數據來分析你所需要的。

+0

好吧,我*認真*需要學習Apache。感謝樣本Senad!如果你有額外的時間,你可以讓我知道每個部分的作用嗎? – 2011-05-23 19:50:57

+1

IfModule檢查服務器上是否存在mod_rewrite.c RewriteEngine On將其打開。 RewriteCondition是條件,什麼改寫 Reqrite規則做什麼用的改寫數據(取畢竟.com和它puting到服務器變量和執行的index.php,是的,這是所有你需要了解現在 – 2011-05-23 20:02:06

+0

真棒,謝謝再次爲您的時間! – 2011-05-23 20:23:55

0

是,第一種選擇將是非常難以維持。如果您想更改頁面的標題,則需要重新計算頁面的全部

最簡單的方法是使用名爲product.phpproduct/details.php的PHP文件,並使用$_SERVER\['PATH_INFO'\]變量來確定客戶端請求的內容。

+0

謝謝,但這種方法唯一的問題是,這些假目錄結構將在運行中創建,並可能完全改變。我確實認爲讓PHP嘗試維護會很麻煩。 – 2011-05-23 19:59:12