【问题标题】:HTML including CSS using PHPHTML 包括使用 PHP 的 CSS
【发布时间】:2013-05-05 05:34:08
【问题描述】:

我正在尝试构建一个单页动态网站,但遇到了障碍。由于 URL 如下:

index.php?page=Tutorials&Article=0

真的不是那么漂亮,我决定使用 .htaccess 来重写 URL,在这种情况下是这样的:

Tutorials/Articles/0

但这意味着我的大部分包含都不起作用,因为我使用的是相对于网站根路径的路径:

js/jquery-1.9.1.min.js

我尝试使用 index.php 开头的以下代码来解决这些问题:

$str = dirname(__FILE__);
$str = str_replace('\\','/',$str);//since i'm using localhost for development, the paths contain backwards slahses so I replace them
$str.='/';
define('ROOT_DIR', $str);

并在 php 中包含everytinhg:

echo ROOT_DIR.'js/jquery';

但是这种方法似乎效果不佳,即使路径似乎可以生成:

<script src="C:/xampp/htdocs/Tzeny/js/jquery-1.9.1.min.js"></script>

我的问题是你能帮我找到另一个解决方案来正确地包含我的文件或让我的解决方案工作吗?

对于第一页它有效,所以:

Tzeny/Tutorials

有效但

Tzeny/Tutorials/Categories/0

不包含任何内容。我同时使用了 /Tzeny/ 和 /。请问还有什么想法吗?还是我应该回到正常的网址?

【问题讨论】:

    标签: php html css dynamic url-rewriting


    【解决方案1】:

    您需要使用绝对路径。例子 : 如果您的域是 www.domain.com/Tzeny/index.php?page=Tutorials&Article=0 在每个文件(如索引)中,您需要包含这样的脚本:

    <script src="/Tzeny/js/jquery-1.9.1.min.js"></script>
    

    【讨论】:

      【解决方案2】:

      只使用绝对网址

      <script src="/js/jquery-1.9.1.min.js"></script>
      

      如果您不使用虚拟主机进行本地开发,则可以将 url 的根设为变量 - 这样相同的代码无论在何处运行都可以正常工作

      例子:

      <?php //pseudo code
      if (on localhost) {
          $root = '/' . dirname(__FILE__); // example
      } else {
          $root = '/';
      }
      ?>
      
      <script src="<?= $root ?>js/jquery-1.9.1.min.js"></script>
      

      【讨论】:

        【解决方案3】:

        如果 index.php 在文档根目录上,您的代码可以通过设置来运行

        $ROOT = "/";
        

        如果它是从目录中提供的,您可以尝试

        $ROOT = "/".str_replace(rtrim($_SERVER['DOCUMENT_ROOT'],"/", '',$ROOT);
        

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 2017-08-04
          • 2021-04-12
          • 1970-01-01
          • 2014-03-07
          • 1970-01-01
          • 2012-07-03
          • 2015-02-13
          • 1970-01-01
          • 2020-12-21
          相关资源
          最近更新 更多