用PHP清理URL

用PHP清理URL,php,url,Php,Url,我正在为一个站点编码,URL中有如下关键词: ?s=2010%20Federal%20Spending&id=115 标题为“2010年联邦支出”的部分不用于导航;我的站点导航完全忽略了它。我的网站只关注“id”,而不是“s”。同样,这个标题只是出于SEO的原因 是否有PHP函数来清理URL的这一部分?例如,将“%20”替换为“-”或类似的内容?您希望在 在.htaccess中添加重写规则很简单。首先,通过将此行添加到.htaccess来激活mod_rewrite: RewriteEn

我正在为一个站点编码,URL中有如下关键词:

?s=2010%20Federal%20Spending&id=115
标题为“2010年联邦支出”的部分不用于导航;我的站点导航完全忽略了它。我的网站只关注“id”,而不是“s”。同样,这个标题只是出于SEO的原因

是否有PHP函数来清理URL的这一部分?例如,将“%20”替换为“-”或类似的内容?

您希望在

在.htaccess中添加重写规则很简单。首先,通过将此行添加到.htaccess来激活mod_rewrite:

RewriteEngine on
RewriteBase /
然后添加规则以重定向页面:

RewriteRule ^([0-9]+)/([^/]+)$ /yourpage\.php?id=$1&s=$2
这将允许您按如下方式构造URL:

yoursite.com/115/2010-federal-spending
然后,在yourpage.php上:

echo $_GET['id']; // will equal 115 from the above example
echo $_GET['s']; // will equal 2010-federal-spending from the above example
你会想在你的

在.htaccess中添加重写规则很简单。首先,通过将此行添加到.htaccess来激活mod_rewrite:

RewriteEngine on
RewriteBase /
然后添加规则以重定向页面:

RewriteRule ^([0-9]+)/([^/]+)$ /yourpage\.php?id=$1&s=$2
这将允许您按如下方式构造URL:

yoursite.com/115/2010-federal-spending
然后,在yourpage.php上:

echo $_GET['id']; // will equal 115 from the above example
echo $_GET['s']; // will equal 2010-federal-spending from the above example
如果您想解码URL,请使用urldecode($your_string)。由于空格不是有效的URL字符,在将其用作地址之前,可能应该尝试替换标题中的空格

$mytitle = "2010 Federal Spending";
$fixedtitle = str_replace(" ", "_", $mytitle);
echo $fixedtitle;
您还可以删除可能导致某些问题的其他字符,例如“&”

如果您想解码URL,请使用urldecode($your_string)。由于空格不是有效的URL字符,在将其用作地址之前,可能应该尝试替换标题中的空格

$mytitle = "2010 Federal Spending";
$fixedtitle = str_replace(" ", "_", $mytitle);
echo $fixedtitle;
您还可以删除可能导致某些问题的其他字符,例如“&”

这是一个已编码的url,空的“”已编码到“%20”中,您不想将其替换为空的url,而是先对其进行解码

$url=urldecode('?s=2010%20Federal%20Spending&id=115')

现在将空字符串替换为您最后喜欢做的任何事情

$newUrl = str_replace(' ' ,'-',$url); 
echo urlencode($newUrl);
这是一个已编码的url,空的“”已编码到“%20”中,您不想将其替换为空的url,而是先对其进行解码

$url=urldecode('?s=2010%20Federal%20Spending&id=115')

现在将空字符串替换为您最后喜欢做的任何事情

$newUrl = str_replace(' ' ,'-',$url); 
echo urlencode($newUrl);

您还可以使用以下描述的功能(法语):


但是,它仍然需要您修改.htaccess,就像AlienWebGuy提到的那样

您也可以使用所述功能(法语):


但是,它仍然需要您修改.htaccess,就像AlienWebGuy提到的那样

URL参数对于SEO目的是无用的。你可能想考虑一些其他的东西,比如“代码> MODY重写< /代码>,用你建议的虚线替换空格。你不需要这样做,它们已经被搜索引擎(和其他软件)解码了。例如,
%20
意味着space.URL参数对于搜索引擎优化是无用的。你可能想考虑一些其他的东西,比如“代码> MODY重写< /代码>,用你建议的虚线替换空格。你不需要这样做,它们已经被搜索引擎(和其他软件)解码了。例如,
%20
表示space.yup,如果他有apache。但是其他服务器有相同的功能。请编辑此帖子以总结链接文本。如果您的任何一个链接断开,这个答案将丢失所有上下文。是的,如果他有apache。但是其他服务器有相同的功能。请编辑此帖子以总结链接文本。如果您的任一链接断开,此答案将丢失所有上下文。