如何删除前缀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.
答案 0 :(得分:1)
正如其他人指出的那样,您需要一些重写规则,例如:使用Apache的mod_rewrite
模块。将其放在名为.htaccess
的文件中:
RewriteEngine On
RewriteRule ^blog/(.+)$ /index.php?slug=$1 [L]
这会将/blog/test123
等网址重定向到index.php?slug=test123
,您当然需要对其进行编辑以满足您的要求,之后,您可以使用PHP
回显新网址。
提示:这是一项相当常见的任务,可能会更好地使用某种框架,即使用Wordpress
,Slim
,CodeIgniter
或Laravel
。此外,请更新至mysqli_
- 函数或PDO
,mysql_
已被弃用几个世纪前...
答案 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