从 URL 中删除文件夹名称
Posted
技术标签:
【中文标题】从 URL 中删除文件夹名称【英文标题】:Remove folder name from URL 【发布时间】:2014-04-22 01:00:05 【问题描述】:我的服务器中有一个域 www.domain.com 重定向到 /。
接下来我有 index.php 代码:
header("Location: http://domain.com/v3/");
当我输入 mydomain.com 时,我的 url 中有 mydomain.com/v3/。
如何从 Url 中删除 v3
【问题讨论】:
你不能从 URL 中删除任何东西,如果你这样做了,那么你的浏览器就会把你带到那里。我认为您应该从您的 URL 中删除v3/
并检查问题是否已解决,因为我试图理解它
【参考方案1】:
从您的 PHP 代码中删除 header
行,因为它正在执行重定向,并且在您的根 .htaccess
中有这个基于前瞻的规则:
RewriteEngine On
RewriteCond %THE_REQUEST ^[A-Z]3,\s/+v3/([^?\s]*) [NC]
RewriteRule ^ /%1 [R=302,L,NE]
RewriteRule ^((?!v3/).*)$ /v3/$1 [L,NC]
这基本上意味着如果请求不是以/v3/
开头,则转发到/v3/
,而不更改浏览器中的URL。
【讨论】:
【参考方案2】:如果你是从 PHP 重定向,你可以使用parse_url 来清理它。
$url = "http://domain.com/v3/";
$host = parse_url( $url, PHP_URL_HOST);
$scheme = parse_url( $url, PHP_URL_SCHEME);
header( $scheme . '://' . $host );
【讨论】:
以上是关于从 URL 中删除文件夹名称的主要内容,如果未能解决你的问题,请参考以下文章