2016-08-18 54 views
0

我有這樣的重寫規則RewriteEngine敘述添加相對路徑

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^monkey.pl(.*) [NC] 
RewriteRule ^(.*)$ http://www.monkey.pl/$1 [R=301,L] 
RewriteRule ^horse.html$ /dog.html 

,當我去monkey.pl/horse.html我得到的消息:

所請求的網址/主頁/登錄/monkey/dog.html在此服務器上未找到。

我該怎麼做到這一點。基本上我想要做的是改變地址的url: http://www.monkey.pl/produkty.php?strona=1 將顯示爲 http://www.monkey.pl/produkty/czesci_do_mixokretow.html 但我的規則都沒有工作。因此,我正在嘗試解決方案。

我嘗試了很多變化,我無法讓它工作。我不想重寫整個頁面。只需6頁,我需要更改網址,這就是全部。修正翻譯網址=>網址。

+0

究竟這是如何從'HTTP翻譯://www.monkey.pl/produkty.php斯壯= 1'到'HTTP:// www.monkey.pl /導航產品/ czesci_do_mixokretow.html'?重寫的URL沒有ID值或名稱似乎匹配。 –

+0

它不會翻譯。但我需要它是固定的翻譯。不基於ID或URL上的內容。 –

+0

你開始的具體URL結構是什麼?它是查詢字符串還是它是一個文件?我問,因爲你提供了2種不同類型的網址。將html和html查詢字符串轉換爲html。你想要做什麼? –

回答

1

如果你只是做少量的URL,那麼你可以這樣做。

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

RewriteCond %{THE_REQUEST} /+produkty\.php\?strona=1 [NC] 
RewriteRule^/produkty/czesci_do_mixo‌​kretow\.html [R=302,L] 

RewriteRule ^produkty/czesci_do_mixo‌​kretow\.html$ /produkty.php?strona=1 [L] 
RewriteRule ^horse\.html$ /dog.html [L] 
+0

謝謝,但它仍然沒有翻譯。網址保持不變,monkey.pl/horse.html仍然會引發相同的錯誤。 –

+0

你是什麼意思,它保持不變?你在瀏覽器中輸入什麼內容?你應該使用'produkty/czesci_do_mixo kretow \ .html' –

+0

是的,謝謝。它的工作,但我認爲,當我來produkty.php?strona = 1然後它會更改網址produkty/czesci_do_mixokretow.html以及所有鏈接到此頁面的超鏈接。因爲當谷歌沒有看到漂亮的網址時,重寫這一點有什麼意義?再次感謝您的幫助。 –

相關問題