如何从URL中删除文件名?

时间:2016-08-30 12:55:10

标签: php

我有一条如下路径

http://localhost/streamcola/watch/getvideo.php

我想删除/getvideo.php,只想要以下路径

http://localhost/streamcola/watch

我该怎么办? 我没有重写我的网址,我只是想删除扩展名。

4 个答案:

答案 0 :(得分:0)

您想要达到的效果称为url-rewriting 这通常是您的服务器通过配置执行的操作,因此根据您的服务器而不同(例如apache2,nginx,tomcat等)
请参阅此文章作为起点:https://en.wikipedia.org/wiki/Rewrite_engine

答案 1 :(得分:0)

您需要为您的网址应用“mod_rewrite”。如果不修改.htaccess文件,或者只是在打开http://localhost/streamcola/watch时将getvideo.php重命名为index.php,它就会重定向到index.php。

答案 2 :(得分:0)

您可以使用正则表达式:

<?php
$subject = <your String>;
$pattern = '/(.*)\/.*\.php?/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

请参阅:http://php.net/manual/en/function.preg-match.php

编辑: 对不起,我以为你有一个想要修改的字符串。

答案 3 :(得分:0)

文件名删除很复杂但可能,但我这样做是通过删除文件的扩展名, 由于我的文件名是getvideo.php,我想要http://localhost/streamcola/watch 所以我将我的文件名更改为watch.php并删除该.php扩展名 这是通过创建名为.htaccess文件的新文件来完成的。我将它放在我的watch.php文件中,并且.htyaccess文件的代码如下:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]

因此我得到了我想要的网址..