我用mod_rewrite很綠。我有這個工作如飛的第一線,但第二部分拒絕合作htaccess - 將.shtml和.html重寫爲。 php
RewriteRule ^(.*).html$ $1.php
RewriteRule ^(.*).shtml$ $1.php [R=301,L]
的.shtml
部分奇妙和404失敗 - 沒有我的自定義404頁。這應該合併爲一個規則?我應該放棄我的工作,讓他們僱用一隻猴子來代替我嗎?有沒有人得到這個解決方案?
謝謝!
我用mod_rewrite很綠。我有這個工作如飛的第一線,但第二部分拒絕合作htaccess - 將.shtml和.html重寫爲。 php
RewriteRule ^(.*).html$ $1.php
RewriteRule ^(.*).shtml$ $1.php [R=301,L]
的.shtml
部分奇妙和404失敗 - 沒有我的自定義404頁。這應該合併爲一個規則?我應該放棄我的工作,讓他們僱用一隻猴子來代替我嗎?有沒有人得到這個解決方案?
謝謝!
假設你正打算重定向都.shtml
和.html
到.php
...
這些都應該被合併成一個規則,這個問題看起來是兩個匹配,因爲轉義.
之前.html
代表「任何字符「,因此也匹配shtml
。
圖案\.s?html
將匹配字面.
,接着是可選s
,並用html
結束。
RewriteEngine On
RewriteRule ^(.*)\.s?html$ $1.php [R=301,L]
啊!你的技術點是有道理的。謝謝你的澄清。然而,你的建議並不適合我。我從IE和FF那裏得到了一個重定向投訴:「該頁面沒有正確重定向」。任何其他想法? –
@AmeliaEarhart您將不得不查看Web服務器訪問和錯誤日志。如果它正在進入一個重寫循環,那可能是由於這個目錄或另一個目錄中的其他重寫規則。如上所述,.php請求無法匹配此規則並進入重寫循環。 –
你想實際上將瀏覽器重定向到'.php',或者在瀏覽器不知道它的情況下悄悄地爲'.php'腳本提供服務嗎? (如果靜靜地,刪除R = 301) –
你能解釋(用文字)哪個擴展名重定向到什麼?猴子可以重寫嗎? –
@SalmanA百萬年以來,百萬個鍵盤上百萬只猴子最終將所有'.html'請求重定向到'www.nationalgeographic.com'。 –
@Salman A 1.我需要將.html和.shtml都改寫爲.php 2.如果可以,我無法想象一隻猴子離得很遠 –