2012-09-24 61 views
1

我嘗試了谷歌搜索,但它給了我的是如何重寫教程,所以我想我會給它一個問題在這裏問它。URL被重寫但被索引爲查詢字符串

的問題是,我們有一個重寫的URL查詢字符串htaccess文件:

RewriteEngine On 

RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\/]+\/*[^\/]*\/*.*)$ index.php?app_route=$1 [QSA,L] 

這工作,似乎谷歌是拿起它,但是當你點擊谷歌它的鏈接顯示它被重寫的查詢字符串。我們只鏈接到'好'的網址,所以我們不知道谷歌在哪裏選擇了這個。谷歌的site:sorellehaarmode.nl自己看看。

有沒有人有這方面的經驗或解決方案?

+0

當你轉到漂亮的URL(沒有查詢字符串的那個)時,你是否被重定向到查詢字符串? –

+0

不,你不會重定向(明顯)。它只是用QS加載index.php,用戶不會看到它。 – FERRYYY

回答

0

嘗試增加這些規則(任何地方,你目前的htaccess文件,下面你已經擁有的規則是罰款):

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?app_route=([^&\ ]+)&?([^\ ]*) 
RewriteRule ^/?index\.php$ /%1?%2 [L,R=301] 

這應該永久性地查詢字符串到那些沒有指向的URL。

+0

謝謝,但這不起作用,它會在路線的最後一個字母前添加一個問號。 '/ kapsalons/sorelle-rotterdam-esmeijerple?n' – FERRYYY

+0

@FERRYYY抱歉,條件中的最後一個'&?([^ \] +)'應該是'&?([^ \] *)'。 (用'*'替換'+') –

+0

像魅力一樣工作。感謝Jon Lin! – FERRYYY