PHP-添加域名后,一些页面和可点击按钮无法工作

  • 本文关键字:按钮 工作 域名 添加 PHP- php
  • 更新时间 :
  • 英文 :


当我将域名实现到我的网站时。其他一些页面和一些可点击按钮不起作用。为什么会发生这种情况?这类问题有什么解决办法吗?我只是实现了我的域名,将localhost替换为www.name.com,然后出现了这个问题。

由于您没有实际脚本的示例,所以在回答时一定有点盲目。然而,我在第一次开始创建网站时也遇到了同样的问题。我得出了几个结论:

1) 创建一个位于域根目录中的配置文件,该文件位于每个顶层页面上,其中包括可重复使用的项目,如域根目录路径、重要文件夹、会话启动,可能还有数据库连接凭据等。它有助于保持脚本的一致性,并且您始终知道您可以访问相同的东西:

/config.php

<?php
define('DS', DIRECTORY_SEPARATOR);
define('ROOT_DIR', __DIR__);
define('FUNCTIONS', ROOT_DIR.DS.'functions');
define('VENDORS', ROOT_DIR.DS.'vendors');
define('BASE_URL', 'https://www.example.com');
# Start session
session_start();
# Create class loader
spl_autoload_register(function($class){
# Turn a class name/namespace into a path
$path = VENDORS.DS.trim(str_replace('\', DS, $class), DS).DS.'.php';
# Include file
if(is_file($path))
include_once($path);
});
# If you use predominantly functions, create a loader for that (see below)
include_once(FUNCTIONS.DS.'autoload.php');
# Add the the base_url function (as noted by others), since it's going to be used a lot
autoload('base_url');

2) 创建几个方便的函数(或类),包括一个基本url(正如其他人所提到的):

/functions/base_url.php

<?php
function base_url($path = false)
{
return BASE_URL.$path;
}

如果您使用的是基于函数的系统,请创建一个函数加载器:

/functions/autoload.php

<?php
function autoload($func)
{
if(!is_array($func))
$func = [$func];
foreach($func as $function) {
if(!function_exists($function)) {
if(is_file($file = FUNCTIONS.DS.$function.'.php'))
include_once($file);
}
}
}

3) 创建链接和域路径时,请使用base_url():

<a href="<?php echo base_url('/contact/') ?>">Contact</a>

页面html可能看起来像这样:

<?php
include_once(__DIR__.DIRECTORY_SEPARATOR.'config.php');
?><!DOCTYPE html>
<html>
<head>
<title>Home page</title>
<link rel="stylesheet" href="<?php echo base_url('/media/css/styles.css') ?>" />
<script src="<?php echo base_url('/media/js/scripts.js') ?>"></script>
</head>
<body>
<nav id="main-menu">
<a href="<?php echo base_url('/') ?>">Home</a>
<a href="<?php echo base_url('/about/') ?>">About</a>
<a href="<?php echo base_url('/contact/') ?>">Contact</a>
</nav>
<img src="<?php echo base_url('/media/images/banner.jpg') ?>" id="banner-image" />
</body>
</html>

无论如何,希望这是有用的。

最新更新