我试图进行动态/漂亮的URL就像domain.com/p/term
掌握一个GET形式
在我而言/ P漂亮的URL实际上是一个PHP脚本,通过一个.htaccess项目。
<Files "p">
ForceType application/x-httpd-php
</Files>
和term
是搜索词语,用来从数据库
所以,如果“/术语”部分的URL提供的一切是好的获取相关数据。问题是,如果请求只是“domain.com/p/”而没有任何术语,我需要显示一个表单来要求一个术语,并且由于我希望观看者输入的术语显示在URL中,所以我认为我应该使用GET表单。超级基本..或者看起来是这样:/
<form action="/p/" method="GET">
<input type="text" name=pid>
<input type="submit">
</form>
提交时,它会导致URL为domain.com/p/?pid=term
现在,我只需要找到如何国防部重写到domain.com/p/term
我已经试过多次重写规则并不能获得期望的结果... 我最新的尝试...
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
#Rewrite GET search "/p?pid=term" => "/p/term"
RewriteRule ^p\?pid=(.*)$ /p/$1 [L]
#Rewrite GET search "/p/?pid=term" => "/p/term"
RewriteRule ^p/\?pid=(.*)$ /p/$1 [L]
不能看m触发重写,我仍然在地址栏中获得/ p /?pid = term。
我查了几个相关的问题,但似乎没有解决这种情况。带有线索棒的水龙头将不胜感激。
真棒..其实我不久后公布发现了%{QUERY_STRING}的一部分,而我在随后的尝试RewriteCond看上去离你很近。我对规则很失望。非常感谢你。 –