我試圖從大約10個現有的SO問題的答案無濟於事。在Rewrite rule that removes query string from URL and redirect使用薩爾曼A的回答,我創建了以下.htaccess文件:修復Botch.htaccess重定向嘗試
Options +FollowSymLinks
RewriteBase/
RewriteEngine On
RewriteCond %{QUERY_STRING} !=""
RewriteRule ^(.*) /$1? [R,L]
......其目標是採取這樣的網址:
http://www.example.com/index.php?c=web
...,使它看起來像這樣:
http://www.example.com/web
以下薩爾曼A的回答後,該網址看起來像:
http://www.example.com/?c=web
然後我試圖去掉「?c =」部分 - 不幸的是我不知道我搞砸了什麼 - 然後我刪除了.htaccess文件,因爲我不想要亂七八糟的東西了。現在,即使沒有.htaccess文件,一些URL的 - 特別是,這三個網址我在測試薩爾曼A的答案點擊 - 看起來仍然是:
http://www.example.com/?c=web
...即使我刪除的.htaccess文件。三個問題:1)儘管刪除了.htaccess文件,爲什麼這些更改仍然存在; 2)是我需要擔心的事情;並且,3)我怎麼修改.htaccess文件讓所有的URL看起來像:
http://www.example.com/web
UPDATE:這就是我擔心http://getluky.net/2010/12/14/301-redirects-cannot-be-undon/。如果我對301重定向進行修改,新訪問者訪問該網站,他們是否陷入了僵局?有沒有辦法解除這個緩存?
我一直在研究你提供的鏈接(以及Apache文檔)。我想要一個外部重定向。我現在通過甲基苯丙胺實驗: 的http://本地主機:8888/DR/index.php文件 新指令: 選項+的FollowSymLinks -MultiViews RewriteEngine敘述上 RewriteBase/DR/ 添加你的線條,沒有什麼變化。請求'http:// localhost:8888/DR/index.php?c = web'仍然加載'http:// localhost:8888/DR/index.php?c = web'並仍顯示'http:// localhost :8888/DR/index.php?c = web'在瀏覽器中。 – vtacreative
對不起,格式糟糕,我不得不嚴格截斷我的迴應,並編輯重要信息,因爲黨的字符限制。在這裏包含更多信息的「正確」方式是什麼?我應該把它全部添加到原始問題嗎?評論格式/字符規則並不十分有助於深入細節。我試圖真正理解這一點,而不是尋找快速剪切和粘貼解決方案。再次感謝。 – vtacreative
@ CL75你不能在評論中格式化,你需要編輯你的原始問題來澄清你想要的東西。但是將我的代碼行添加到您的網址中,您需要調整我的示例以適應您的需要。我的例子假設你在''c = something'前面沒有任何**。如果你有東西,我的示例需要修改,以便在'%{THE_REQUEST}'匹配中包含DR。 –