从url中删除.php扩展名。但在最后一个值之前
我有一个url,即。我必须从url中删除.php从url中删除.php扩展名。但在最后一个值之前,php,Php,我有一个url,即。我必须从url中删除.php 以及我需要的url,即您可以使用str_replace php函数 $url = "http://searchberry.co/search.php/2731804/?query=admin"; $str = str_replace(".php", "", $url); echo $str; 有关此函数的一些文档 编辑 试试这样的 其他人建议使用str_replace,但这将删除.php的每个实例,如果查询是?query=lol.php,
以及我需要的url,即您可以使用str_replace php函数
$url = "http://searchberry.co/search.php/2731804/?query=admin";
$str = str_replace(".php", "", $url);
echo $str;
有关此函数的一些文档
编辑
试试这样的
其他人建议使用str_replace,但这将删除
.php
的每个实例,如果查询是?query=lol.php
,会发生什么?查询将被编辑为query=lol
,不幸的是str\u replace似乎不支持限制,但preg\u replace支持限制。我建议您阅读apache mod\u rewrite()
在路由文件夹中创建.httpaccess,并根据根目录添加以下行
<Directory "/var/www/htdocs">
RewriteEngine on
RewriteBase "/var/www/htdocs"
RewriteRule ^search/([-\w]+)/$ search.php/([-\w]+)/$1 [NC,L]
</Directory>
重新启动发动机
重写库“/var/www/htdocs”
重写规则^search/([-\w]+)/$search.php/([-\w]+)/$1[NC,L]
您可以使用str_replace('.php','$url)代码>好的,先生,但是search.php是一个文件名。url是actionoth的形式,这将删除“.php”的每个实例,如果查询是?query=lol.php
,会发生什么?查询将被编辑为query=lol
-您应该为其添加一个限制it@hanshenrik fixed@RahulKumat照你说的做了,先生
$url=preg_replace("/\.php/","",$url,1);
<Directory "/var/www/htdocs">
RewriteEngine on
RewriteBase "/var/www/htdocs"
RewriteRule ^search/([-\w]+)/$ search.php/([-\w]+)/$1 [NC,L]
</Directory>