0
我試圖美化一些網址。我配置了htaccess,因此我的網址被改變:.htaccess重定向301使用重寫規則
舊網址:http://mysite.com/index.php?id=45tye4 新網址:http://mysite.com/45tye4
我想現在舊網址永久重定向到新的URL。這是我嘗試沒有運氣:
RewriteRule ^index.php?id=(.*)$ $1 [R=301,L]
主要問題似乎是'?'在網址中。當我嘗試不使用相同的網址時?重定向工作。我也試過,沒有運氣其他變體:
RewriteRule ^index.php\?id=(.*)$ $1 [R=301,L]
RewriteRule ^index.php[\?]id=(.*)$ $1 [R=301,L]
更新:
我根據anubhava說明添加的重定向。重定向的工作原理,但不幸的是我進入了一個重定向循環。我認爲[L]標誌應該解決重定向循環,但它不。
RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^index\.php/?$ /%1? [R=301,L]
RewriteRule ^(.*)$ index.php?id=$1 [L]
的重定向工作,但不幸的是我進入一個重定向循環。我認爲[L]標誌應該解決重定向循環,但它不。 – adiian 2011-05-26 21:45:17
有一個小小的錯字,編輯了答案。請再檢查一次。 – anubhava 2011-05-26 22:04:22
我添加了更新後的一個,仍然收到重定向循環問題。我不明白,不應該[L]國旗避免它? – adiian 2011-05-26 22:10:58