2015-06-13 80 views
0

我正試圖重定向看起來像這樣的舊網址: mysite.com/index.php?dispatch=products.view & product_id = 30176 添加到新網址,它們是SEO友好且看起來像 - mysite.com/category/產品如何使用「index.php?」301重定向URL在一條路上?

我正在使用CS-Cart 4.3.1並啓用了SEO附加組件,當我導入所有產品和類別時,網址會自動更改。

此加載項在管理員中有301個重定向功能,它使我可以手動創建301個重定向。但是,有些事情是錯誤的,它不適用於具有「index.php?」的重定向。在開始的路徑。

我試過重定向舊網址而沒有「index.php?」在路徑中 - 如: 「dispatch = products.view & product_id = 30176」到「mysite.com/category/product」,它的工作原理是,頁面正在被重定向。但這不是Google編制的需要重定向的正確網址。

我懷疑問題是在重寫條件或重寫規則htaccess文件中的某個地方,這是由系統在啓動SEO附加組件時創建的。

這是它的樣子:「的index.php」

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteBase/
Options -MultiViews 

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 

RewriteCond %{REQUEST_URI} ^api/(.*)$ [or] 
RewriteCond %{REQUEST_URI} .*/api/(.*)$ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .*api/(.*)$ api.php?_d=$1 [L,QSA] 

RewriteCond %{REQUEST_URI} \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml)$ [or] 
RewriteCond %{REQUEST_URI} store_closed.html$ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*?)\/(.*)$ $2 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L,QSA] 

</IfModule> 

如果有人能想到的原因重定向不工作時被包括在路徑中,我將非常感謝您的幫助。

+0

這個URL mysite.com/index.php?dispatch = products.view&product_id = 30176'如何與'mysite.com/category/product'關聯?我的意思是做所有舊網址的重定向到相同的SEO鏈接或改變。請提供一個適當的例子,而不是一般的例子,或者更難以提供幫助。 –

+0

@PanamaJack - 沒有任何類似(http://example.com/index.php?dispatch=products.view&product_id=30176)的舊網址正在重定向。在將CSV文件導入啓用了搜索引擎優化插件的新電子商務商店後,所有網址都自動更改爲SEO易搜索網址。這裏是例子: – Grafik

+0

@PanamaJack - 沒有任何舊的URL被重定向。例如:[link] http://www.asia-link.com.au/index.php?dispatch=products.view&product_id=30176應該重定向到http://www.asia-link.com.au/chinese -medicine/patches/salonpas-analgesic-plasters /但它沒有 - 它得到404。如果我嘗試創建301重定向爲(http://www.asia-link.com.au/dispatch=products.view&product_id= 30176)沒有「index.php?」 - 它的工作原理,正在被重定向到正確的產品。我如何使用「index.php?」來處理它包括在內呢? – Grafik

回答

1

內置的「301重定向」功能不支持非SEO友好的URL作爲舊的URL參數。這意味着你不能使用「index.php?dispatch = products.view & product_id = 30176」,但你可以使用「old_website_category/old_website_product」之一。

要實現你想要的,請添加301重定向到.htaccess文件。例如。

RewriteCond %{QUERY_STRING} ^product_id=30176$ 
RewriteRule ^/?index\.php$ http://example.com/category/product? [L,R=301] 
+0

問題終於解決了。來自CS市場的Sergey已經安裝了他的「301重定向」插件,該插件完美地工作並重定向舊網址。 – Grafik