Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在GET POST表单请求后将?id=302更改为/this-is-my-site.html?_Php_Forms_.htaccess_Get - Fatal编程技术网

Php 如何在GET POST表单请求后将?id=302更改为/this-is-my-site.html?

Php 如何在GET POST表单请求后将?id=302更改为/this-is-my-site.html?,php,forms,.htaccess,get,Php,Forms,.htaccess,Get,好的,这可能很容易,但我只是有一个关节的时间试图让它工作 我在一个带有文本区域(name=id)的页面上有一个小GET-form。。当一个人输入一个ID号(这只是一篇报道中的帖子ID)时,我会将其显示在URL中,如下所示: http://mywebpage.com/page.php?id=582 所以它只是从URL中获取id并在查询中使用它。我的表格中有一个URL行,标题被放大了,如下所示:这是我的网站,它只抓取故事的标题,并通过一个函数快速运行它 我的问题是,我如何保持相同的格式,但当表单被

好的,这可能很容易,但我只是有一个关节的时间试图让它工作

我在一个带有文本区域(name=id)的页面上有一个小GET-form。。当一个人输入一个ID号(这只是一篇报道中的帖子ID)时,我会将其显示在URL中,如下所示:

http://mywebpage.com/page.php?id=582
所以它只是从URL中获取id并在查询中使用它。我的表格中有一个URL行,标题被放大了,如下所示:
这是我的网站
,它只抓取故事的标题,并通过一个函数快速运行它

我的问题是,我如何保持相同的格式,但当表单被提交以按ID查找故事时,我如何获得标题中的URL行以替换我的
?ID=
变量

所以不是

http://mywebpage.com/page.php?id=582
它会回来的

http://mywebpage.com/page.php/this-is-my-site.html

提前谢谢

使用htaccess绝对是您的最佳选择

RewriteEngine On 
RewriteRule /page/(.*)$ /page/page.php?id=$1 
那会把你的页面改写成

www.yoursite.com/page/3

这是相当友好的搜索引擎优化为您的链接

使用htaccess绝对是您的最佳选择

RewriteEngine On 
RewriteRule /page/(.*)$ /page/page.php?id=$1 
那会把你的页面改写成

www.yoursite.com/page/3

这是相当友好的搜索引擎优化为您的链接

http://mywebpage.com/page.php?id=582
,您可以检查url友好名称并使用
标题('location:')
重定向到具有好名称的url


之后,您可以检查名称(使用.htaccess)并从数据库中获取id。

http://mywebpage.com/page.php?id=582
,您可以检查url友好名称并使用
标题('location:')
重定向到具有好名称的url

if(isset($_GET['id'])){
     $id=intval($_GET['id']); // sanitize it
     // get row by id
     //also we can redirect here to pretty url by 
     header('Location:'. $url)
}
else{
     //get by URI
}
之后,您可以检查名称(使用.htaccess)并从数据库中获取id

if(isset($_GET['id'])){
     $id=intval($_GET['id']); // sanitize it
     // get row by id
     //also we can redirect here to pretty url by 
     header('Location:'. $url)
}
else{
     //get by URI
}
PS:我不知道如何在重写(和.htaccess)中使用数据库,但这个解决方案不需要它。 使用
$\u服务器['PATH\u INFO']

PS:我不知道如何在重写(和.htaccess)中使用数据库,但这个解决方案不需要它。
使用
$\u SERVER['PATH\u INFO']

然后您需要一些重写规则来捕获漂亮的url并执行另一个db查询。@如果我们真的不需要在这里重写,因为url$\u SERVER['PATH\u INFO']='/这是我的site.html,以这种方式。是的,如果要重定向,我们还需要1个查询。@RiaD hmmm??仍在努力拼凑。。。因此,我可以使用id查找我的url,然后重定向它们?然后您需要一些重写规则来捕获漂亮的url,然后再执行另一个db查询。@如果我们真的不需要在这里重写,因为url$\u SERVER['PATH\u INFO']='/这是我的site.html。是的,如果要重定向,我们还需要1个查询。@RiaD hmmm??仍在努力拼凑。。。所以我可以使用id查找我的url,然后重定向它们?mod_rewrite支持使用外部查找表文件翻译url,但它只是一个简单的静态文件,不适合高度动态的站点。mod_rewrite支持使用外部查找表文件翻译url,但它只是一个简单的静态文件,不适合高度动态的站点。