2017-07-18 93 views
1

因此,我們最近有一個客戶端的網站正在爲我們的客戶開發自定義,他們基本上有不友好的URL「article.php?id = 1" 。我試圖讓他們對搜索引擎友好,當我創建新的網址時,我無法讓他們的舊網址自動重定向到我剛創建的網址。RewriteRule for article.php?id = 1打印機名稱

我都試過,沒有運氣如下:?

RewriteEngine On 
RewriteBase/

RewriteRule ^articulo.php?id=1$ "xerox-phaser-3020bi" [NC,R=301,L] 
RewriteRule ^xerox-phaser-3260dni$ /articulo.php?id=2 [R=301,L] 
RewriteRule ^xerox-phaser-33dn$ articulo.php?id=3 [L] 

你可能注意到了,我手動創建網址爲每個產品(只有約38),因爲該應用程序不打印category.php名= nameofcategory & article.php?id = 1我認爲這將是製作友好網址的最佳方式。

我想是這樣,當有人在我們的網站的點擊量/article.php?id=1產品,他們被帶到了友好的URL,如:/施樂移相器,3260dni

謝謝!

編輯:

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^id=1$ 
RewriteRule ^articulo\.php$ /xerox-phaser-3260dni/? [R=301,L] 

此代碼重定向但訪問友好的URL時不顯示頁面。

回答

2

您的方法不起作用,因爲您的網址包含像?這樣的符號。您需要使用{QUERY_STRING}

嘗試以下操作:

RewriteCond %{QUERY_STRING} article.php?id=1$ 
RewriteRule (.*) /xerox-phaser-3260dni/? [R=301,L] 

不要忘了重定向的URL的末日,因爲是需要添加?,使查詢字符串不會在URL的末尾出現。

確保在測試之前清除緩存。

+0

不幸的是,當訪問友好的URL時,這個建議不會重定向或返回正確的頁面 –