我正在使用此PHP代码将URI中任何形式的大写重定向到小写。共有三个例外:如果URI包含“ adminpanel”或“ search”,则没有重定向,如果它已经是小写,则没有重定向
您是否看到任何改进PHP功能的方法?
$trailed = $_SERVER['REQUEST_URI'];
$pos1 = strpos($trailed,"adminpanel");
$pos2 = strpos($trailed,"search");
if ($pos1 === false && $pos2 === false && strlen($trailed) !== strlen(preg_replace('/[A-Z]/', '', $trailed))) {
$trailed = strtolower($trailed);
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://'. $_SERVER["SERVER_NAME"] . $trailed);
exit;
}
最佳答案
我认为在URI混合大小写的情况下,这将无法重定向。这是故意的吗?另外,使用$ trailed和strtolower($ trailed)的字符串比较是否比在第4行的if语句的第三个子句中使用正则表达式更简单?
关于php - PHP大写到小写重写优化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1862329/