从url中删除前缀url SLUG =

时间:2016-05-24 10:33:13

标签: php

如何删除前缀url值,即从网址中删除slug =有任何进程请协助,如果我尝试使用str_pos但不起作用

我的网址是http://localhost/blog/?slug=what-is-lorem-ipsum

我期待http://localhost/blog/what-is-lorem-ipsum

这是我的代码

sed: Function 1i/^/LINE TO INSERT\n/ cannot be parsed.

3 个答案:

答案 0 :(得分:1)

正如其他人指出的那样,您需要一些重写规则,例如:使用Apache的mod_rewrite模块。将其放在名为.htaccess的文件中:

RewriteEngine On
RewriteRule ^blog/(.+)$ /index.php?slug=$1 [L]

这会将/blog/test123等网址重定向到index.php?slug=test123,您当然需要对其进行编辑以满足您的要求,之后,您可以使用PHP回显新网址。

提示:这是一项相当常见的任务,可能会更好地使用某种框架,即使用WordpressSlimCodeIgniterLaravel。此外,请更新mysqli_ - 函数或PDOmysql_已被弃用几个世纪前...

答案 1 :(得分:0)

您可以使用str_replace并从网址中删除?slug =。

$url = "<h3><a href='http://localhost/blog/?slug=".$rows['blog_slug']
$url = str_replace("?slug=", "", $url);
echo $url ." >".$rows['blog_title']."</a></h3>";

或者只是从字符串中删除“?slug =”。

$url = "<h3><a href=http://localhost/blog/".$rows['blog_slug']; echo $url ." >".$rows['blog_title']."</a></h3>";

答案 2 :(得分:-1)

您可以使用explode()功能取出您想要的内容,然后重新加入分离的和平:

$url = "http://localhost/blog/?slug=what-is-lorem-ipsum"
list($one, $two) = explode("?slug=", $url);
echo $one.$two;//will echo: http://localhost/blog/what-is-lorem-ipsum