Php 正则表达式和URL重写
我有一个URLhttp://abc.com/v2/现在我想知道,如果有人把URL放在像这样的地方http://abc.com/v2/abc或http://abc.com/v2/xyz应重定向到http://abc.com/ 一般来说,我希望放在/v2/之后的任何内容都必须重定向到http://abc.com/Php 正则表达式和URL重写,php,regex,apache,.htaccess,url-rewriting,Php,Regex,Apache,.htaccess,Url Rewriting,我有一个URLhttp://abc.com/v2/现在我想知道,如果有人把URL放在像这样的地方http://abc.com/v2/abc或http://abc.com/v2/xyz应重定向到http://abc.com/ 一般来说,我希望放在/v2/之后的任何内容都必须重定向到http://abc.com/ 还请告诉我如何进一步了解URL重写(针对Apache环境)和正则表达式Google中“Apache URL重写”的第一个链接: 我用mod_重写自己,这并不难。请在要求其他人为您搜索内容
还请告诉我如何进一步了解URL重写(针对Apache环境)和正则表达式Google中“Apache URL重写”的第一个链接:
我用mod_重写自己,这并不难。请在要求其他人为您搜索内容之前多做些努力。谷歌中“apache url重写”的第一个链接:
我用mod_重写自己,这并不难。在请其他人帮你用谷歌搜索东西之前,请再努力一点。你可以放在首页。或使用以下代码创建自动包含文件:
$value = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$pattern = "http://abc.com/v2/";
$rez = str_replace($pattern,"",$value);
if(strlen($rez)>0){
echo "Here";
header("Location: http://abc.com");
}
你们可以把它放在起始页上。或使用以下代码创建自动包含文件:
$value = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$pattern = "http://abc.com/v2/";
$rez = str_replace($pattern,"",$value);
if(strlen($rez)>0){
echo "Here";
header("Location: http://abc.com");
}
这也是一条非常基本的规则:
RewriteRule ^v2/ http://abc.com/ [R]
[R]
标志用于重定向,但在本例中无论如何都暗示了这一点。在您的示例中,^
主题开头标记将简单地替换前面的/
参考资料:对于正则表达式教程、重写规则以及当前手册:这也是一条非常基本的规则:
RewriteRule ^v2/ http://abc.com/ [R]
[R]
标志用于重定向,但在本例中无论如何都暗示了这一点。在您的示例中,^
主题开头标记将简单地替换前面的/
参考资料:对于正则表达式教程、重写规则以及当前手册:以下是您可以应用的良好重写规则:
RewriteRule ^v2/(.*) /$1 [QSA,R=301]
至于你的另一个问题,我同意埃里克·约翰逊的观点,但以下是我的观点:
- 这是我们的维基
请尝试使用
RewriteLog
指令:它可以帮助您跟踪问题:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
我最喜欢的检查regexp的工具: (别忘了选择ereg(POSIX)而不是preg(PCRE)!)
当您想要检查URL并查看其是否有效时,可以使用此工具。以下是您可以应用的良好重写规则:
RewriteRule ^v2/(.*) /$1 [QSA,R=301]
至于你的另一个问题,我同意埃里克·约翰逊的观点,但以下是我的观点:
- 这是我们的维基
请尝试使用
RewriteLog
指令:它可以帮助您跟踪问题:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
我最喜欢的检查regexp的工具: (别忘了选择ereg(POSIX)而不是preg(PCRE)!)
当您想要检查URL并查看它们是否有效时,您可以使用此工具。重定向应该在到达处理程序之前在Apache中使用mod_rewrite完成。重定向应该在到达处理程序之前在Apache中使用mod_rewrite完成。这不是一个令人愉快但完全足够的回答+1给你。不是令人愉快但完全足够的回答+你好,奥利弗,谢谢你的回答,我很高兴。谢谢你的礼貌;)你好,奥利弗谢谢你的回答,我很高兴。谢谢你的礼貌;)