2009-11-27 50 views
1

我啓用了我的PHP站點上的Apache URL(http://example.com/index.php?param=12變成http://example.com/index/param/12)。Apache/PHP中的URL重寫和GET表格

我有幾個表單在GET而不是POST。

在對錶單進行子表單處理後,生成的URL不會被重寫。

是否可以在提交GET表單後保留重寫的URL?

更新:我發現這篇文章的主題http://matthewjamestaylor.com/blog/how-to-post-forms-to-clean-rewritten-urls,但我真的不喜歡重定向到重寫URL的想法。是否真的沒有辦法保持重寫URL不重定向?

更新2:這是我想要做的一個例子。 比方說,我有一個簡單的形式是這樣的:

<form method="get" action=""> 
    <fieldset> 
     <input type="text" name="q" /> 
     <input type="submit" value="Search" /> 
    </fieldset> 
</form> 

,讓我們說我的網址是http://example.com/index/param/12

提交GET形式後,URL成爲http://example.com/index/param/12?q=my-input-text,而我想獲得一個重寫URL像http://example.com/index/param/12/q/my-input-text

+0

一個簡單的PoC會讓你的觀點更加明顯。 – Flavius 2009-11-27 18:28:55

回答

4

似乎如果您希望自己的表單直接轉到/q/my-input-text您應該使用JavaScript在表格的onSubmit上使用JavaScript。

0

apache mod_rewrite只處理傳入的(請求)網址 - 它無法控制您在php腳本中生成的網址。這是你應該照顧自己的事情。