Php 用什么重写?在url中

Php 用什么重写?在url中,php,url,mod-rewrite,Php,Url,Mod Rewrite,我有一个网站,我正在工作,刚刚做了修改,所以url cuadmemo.com/posts.php?title=abctitle写入cuadmemo.com/abctitle.html 我遇到的问题是当你有一个标题和一个?在里面做标记。你点击链接 http://www.cuadmemo.com/Are You Doing All You Can to Protect Your Members From Wire Fraud?.html 它显示为未找到?我知道那是什么?是什么导致了这个问题。我是

我有一个网站,我正在工作,刚刚做了修改,所以url cuadmemo.com/posts.php?title=abctitle写入cuadmemo.com/abctitle.html

我遇到的问题是当你有一个标题和一个?在里面做标记。你点击链接

http://www.cuadmemo.com/Are You Doing All You Can to Protect Your Members From Wire Fraud?.html 
它显示为未找到?我知道那是什么?是什么导致了这个问题。我是用php写的,有这种格式的链接(从数据库中提取)

下面是我用来编写语句的php代码

echo "<a name='description' href='http://www.cuadmemo.com/{$row_oneBack['title']}.html'>". $row_oneBack['title'] . '</a>';

如有任何建议,将不胜感激。提前谢谢

这不是一个非常安全的网址。你应该这样做;
因为你有一个问号,你在做你能做的一切来保护你的成员免受欺诈。html

?apache被欺骗,以为你在试图拥有类似
$\u GET['.html']
的东西,因此,你的url被切断了

似乎您的CMS/php正在查看
$\u GET['title']
。如果您想要问号,您应该让它查看并解析
$\u服务器['REQUEST\u URI']

你可以这样做:

# infile .htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
然后像这样查找您的查询:

http://example.com/test/page?is=ok&has=get-params

// infile: index.php
// var_dump($_SERVER['REQUEST_URI']);
// you will get string '/test/page?is=ok&has=get-params' (length=41)

最初,我是从数据库中的id中提取它的,该数据库的编写方式类似于cuadmemo.com/posts.php?id=123,但我希望它更像wordpress博客,可以重写它,以在url中显示标题。我不知道怎么走那条路。所以使用cuadmemo.com/posts.php?title=whatevertitlenameis@StevoBot这是一个好主意,但是你应该做一些类似的事情来保持重写中的ID;example.com/post/123/TITLEWHATEVER.html这样您就可以使用IDnumbers之后的任何字符,所以当我从数据库中提取信息时,我应该使用$_服务器['REQUEST\u URI']将其传递到新页面?如果您选择继续使用您的链接创建方式,然后使用上面的代码,您将在
$title=$\u服务器['REQUEST\u URI']中拥有您的
标题
http://example.com/test/page?is=ok&has=get-params

// infile: index.php
// var_dump($_SERVER['REQUEST_URI']);
// you will get string '/test/page?is=ok&has=get-params' (length=41)