請看這篇文章的編輯。我給出的最後一個代碼示例是我試圖完成的。我正在處理147行代碼。我想我實際上並沒有試圖制定一個規則,因爲我試圖找出這些變量的重定向。.htaccess重定向:從舊網站的變量到Drupal和網址別名
好吧,我一直在研究這幾個小時,正則表達式apache重寫規則變得非常具體,我很難過。客戶要求將舊網站的URL重寫/重定向到新的drupal站點和具有url別名的相應頁面。有147個變量(所有1 - 216(失序)) 實施例: 我需要
/hardware/bikes.php?recordID=1 to redirect to http://www.bikerus.com/?q=hardware/first-bike-that-really-flies
然後
/hardware/bikes.php?recordID=2 to redirect to http://www.bikerus.com/?q=hardware/second-awesome-bike-that-really-flies
等
這是我到目前爲止:
RewriteCond %{QUERY_STRING} ^recordID=([0-9]+)$
RewriteRule ^/hardware/bikes\.php?recordID=%1$ http://www.bikerus.com/?q=hardware/first-bike-that-really-flies
這顯然是不工作,任何想法女士和姐姐?
理想情況下,如果我能找出Drupal的另一個問題,我還沒有想出來(多年),那將是一件好事。 有一個重定向是這樣的:
redirect 301 /hardware/1.html http://www.bikerus.com/hardware/first-bike-that-really-flies
取而代之的是:
redirect 301 /hardware/1.html http://www.bikerus.com/?q=hardware/first-bike-that-really-flies
但我的第一個問題是目前的當務之急。 在此先感謝。
EDITS: 我試圖重定向到的文件不是靜態的,它們是由Drupal數據庫生成的網址別名。
最後,是的,我將需要147個個人記錄(硬編碼),我的問題是如何做到這一點:
redirect 301 /hardware/bikes.php?recordID=1 http://www.bikesrus.com/?q=hardware/random-bike-title-one
redirect 301 /hardware/bikes.php?recordID=2 http://www.bikesrus.com/?q=hardware/random-bike-title-two-ewhbcfn
redirect 301 /hardware/bikes.php?recordID=3 http://www.bikesrus.com/?q=hardware/random-bike-title-three-kxjhmuflr
redirect 301 /hardware/bikes.php?recordID=4 http://www.bikesrus.com/?q=hardware/random-bike-title-four-more-random-stuff
而對於那些不知道,Drupal有一個乾淨的URL重寫規則,隨附.htaccess文件,我正在編輯:
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
因此,我需要能夠瀏覽此以及。
第一輛自行車真的蒼蠅是靜態的嗎? –
這樣:'RewriteRule ^/hardware/bikes \ .php?recordID =%1 $'永遠不會匹配,因爲你在正則表達式中包含查詢。 –
對,我知道。我正在修補它。我只是以此爲出發點。有什麼建議麼? – CarlosM