gpt4 book ai didi

php - 适用于本地 (MAMP) 和实时服务器的绝对 URL

转载 作者:搜寻专家 更新时间:2023-10-31 21:33:48 24 4
gpt4 key购买 nike

尝试找出一种方法,使我可以在本地计算机上开发我的网站版本,然后将文件上传到实时站点。问题是,我希望本地站点完全依赖于它自己,对于 css 链接,包含等需要链接到本地​​文件夹。

我使用一个名为 init.php 的文件,该文件位于 Web 文件夹的根目录中,每个页面都包含该文件。在此初始化中,我包含了所有样式表、jquery 和其他包含项。

如果我的网站上没有任何子文件夹,我会简单地使用包含在每个页面上的这个 init.php,然后简单地做,例如css/main.css 和 include 'includes/header.php' 等

问题是我的网站中有文件夹,但仍然希望只使用根目录中的一个 init.php 文件。但是,我需要包含此文件并链接到也在同一位置的 css 文件等。

文件夹结构为:

root
init.php
databaseconn.php
/css/
main.css
/settings/
user_profile.php

如果我在 user_profile.php 页面中包含 init.php 文件,则指向其他文件的链接将不起作用。目前我通过表示双句号 (../) 将 init.php 包含到 user_profile.php 页面上

问题是,无论我在哪个文件夹中,我如何才能始终使 init.php 文件中链接的文件始终链接到相同的正确位置,同时在将网站文件移动到我的实时文件时不受影响主持人?

我已经尝试过 DIR 和文档根目录等,但是当按如下方式使用时:

<?php define( 'BASE_PATH', __DIR__.'/' ); ?>
<link rel="stylesheet" type="text/css" href="<?php echo BASE_PATH; ?>css/main.css">

这(在 MAMP 上)给了我这个 URL:

/Applications/MAMP/htdocs/website/css/main.css

这当然行不通。

我怎样才能正确地做到这一点?我不想强制使用 http: 部分 niether 以防我将来获得 SLL。

任何帮助都会很棒!

最佳答案

您可以为此使用基本 href 标签。

示例代码:

<?php
$baseHref = ($isDevelopment ? '//localhost/site/' : '//www.site.com/');
?>
<html>
<head>
<base href="<?php echo $baseHref; ?>" />
<link rel="stylesheet" type="text/css" href="css/main.css" />
</head>

编辑:当然你必须在你的配置/初始化的某个地方定义你是在开发服务器还是生产服务器。

关于php - 适用于本地 (MAMP) 和实时服务器的绝对 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24737117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com