当公用文件夹名称是下划线时,链接不起作用,例如的public_html

时间:2018-06-03 16:44:58

标签: php

名称中的文件夹包含下划线“_”时链接出现问题。为什么?以及如何改进它,因为我的主要“公共”文件夹的托管被称为“public_html”我在代码中更改了目录的名称和下面,但是链接不适用于css和子页面。如果我将名称更改为任何其他名称而没有下划线,一切正常。不幸的是,我必须使用“public_htnl”

<?php
  define("PRIVATE_PATH", dirname(__FILE__));
  define("PROJECT_PATH", dirname(PRIVATE_PATH));
  define("PUBLIC_PATH", PROJECT_PATH . '/public_html');
  define("SHARED_PATH", PRIVATE_PATH . '/shared');


  $public_end = strpos($_SERVER['SCRIPT_NAME'], '/public_html') + 7;
  $doc_root = substr($_SERVER['SCRIPT_NAME'], 0, $public_end);
  define("WWW_ROOT", $doc_root);

  require_once('functions.php');
?>

的functions.php

<?php
function url_for($script_path) {
  // add the leading '/' if not present
  if($script_path[0] != '/') {
    $script_path = "/" . $script_path;
  }
  return WWW_ROOT . $script_path;
}
?>

我的一个链接

<a href="<?php echo url_for('/home/index.php'); ?>">Home</a>

0 个答案:

没有答案