2012-12-04 448 views
0

我是相當新的Url重寫的世界。我必須這樣做到我們自己的CMS有一個好看的網址,並得到一個更好的結構,搜索引擎(搜索引擎優化)的結果。Htaccess重寫規則子文件夾

這是背景文件,它做的一切,我們現在隱藏與漂亮的URL的工作:

這是我的結構模式的一個例子:

的CMS只需創建的.htaccess文件到FR目錄查找類似下面的很基本的重寫規則:

Options +FollowSymlinks 
RewriteEngine On 
RewriteRule produits/solives-de-rive-rimboard index.php?p=144 
RewriteRule produits/decoupe-sur-mesure index.php?p=145 
RewriteRule produits/panneaux-osb index.php?p=146 
RewriteRule produits/boites-de-bois-crates index.php?p=147 
RewriteRule produits/palettes-de-bois index.php?p=148 
RewriteRule accueil index.php?p=4 
RewriteRule a-propos-de-cimdat index.php?p=139 
RewriteRule produits index.php?p=140 
RewriteRule videos index.php?p=141 
RewriteRule nous-joindre index.php?p=142 

所有工作正常,像「ACCUEIL」,「知性-joindre」一級頁面。 ..

但我還沒有找到像「produits/solives-de-rive-rimboard」這樣的第二和第三層頁面的工作。 index.php只是加載正常,除了這個頁面的所有相關鏈接都是一個子文件夾(CSS,圖像,jQuery ...)。

是否有任何標籤可以用於htaccess文件中,以指定無論在哪個級別「accueil」,「produits/something」或第三級別如索引「produits/group/something」 .php有一個基本的路徑?

我寧願在htaccess中尋找工作,而不是給index.php一個「<base href="something">」,這可能會給我們的結構帶來其他問題。

感謝

+0

這些是替代網址,是真正的網址。但請求的網址如何?至少有一個例子可以找出模式。換句話說,如果可能的話,給出一個在瀏覽器地址欄中輸入的URL以及相應的被重定向到的URL的例子。 –

+0

道歉對於網址替換... 剛剛更新了我的第一篇文章! –

回答

1

這是一個HTML的問題,而不是一個服務器或htaccess的問題。如果您的瀏覽器看到類似/ category/product的內容,它將會像在/ category /文件夾中一樣,無論內部服務器端重定向發送請求的位置如何。

解決這個問題很簡單,將html中的所有鏈接都改爲相對於網站根目錄。所以,如果你有一個像

<img src="img/button.gif" /> 

改變它的圖像標記

<img src="/img/button.gif" /> 

這告訴瀏覽器從根本上,從不管你重寫規則的請求文件的確切路徑。這需要爲您的所有相關鏈接完成,包括css和javascripts。這可能需要做一些工作,但一旦完成,它應該使未來的維護更容易,因爲您不必擔心頁面的明顯路徑。

是的,這可以通過.htaccess相當簡單地完成,但也有副作用,包括搜索引擎可以將其視爲重複內容,因爲用戶無法緩存靜態內容有效率的。您最好的選擇是在網站新增和增長的同時遵循最佳做法,而不是在解決方法出現問題後嘗試修復它。

+0

好的,謝謝你的提示! –

+0

@Jaune這個[插件](http://wordpress.org/extend/plugins/velvet-blues-update-urls/)將幫助您輕鬆修改鏈接。 –