PHP路径在localhost中运行脚本的次数增加了一倍

时间:2017-10-14 12:00:18

标签: php html sql web

我有一个包含不同php文件和sql数据库的网站。这是一个内容管理网站。我试图在此路径上使用XAMPP服务器在localhost上测试它: 本地主机/ AVS avs是索引和所有其他文件所在的文件夹。 当我启动网站时,它会显示一个闪屏,但不会进一步链接,因为链接会加倍: 输入BUtton: localhost / avs更改 localhost / avs / localhost / avs

以下是configs.paths.php的代码,其中我插入了localhost路径,[只有01个地方BASE_URL我改变了,其余的都是默认的]:

<?php
defined('_VALID') or die('Restricted Access!');
$config = array();
$config

['BASE_URL'] = 'localhost/avs';
$config['RELATIVE'] = '';
$config['BASE_DIR'] = 

dirname(dirname(__FILE__));
$config['TMP_DIR'] = $config['BASE_DIR']. '/tmp';
$config['LOG_DIR'] = $config['BASE_DIR']. '/tmp/logs';
$config['IMG_DIR'] = 

$config['BASE_DIR']. '/images';
$config['IMG_URL'] = $config['BASE_URL']. 

'/images';
$config['PHO_DIR'] = $config['BASE_DIR']. '/media/users';
$config

['PHO_URL'] = $config['BASE_URL']. '/media/users';
$config['VDO_DIR'] = $config

['BASE_DIR']. '/media/videos/vid';
$config['VDO_URL'] = $config['BASE_URL']. 

'/media/videos/vid';
$config['FLVDO_DIR'] = $config['BASE_DIR']. 

'/media/videos/flv';
$config['FLVDO_URL'] = $config['BASE_URL']. 

'/media/videos/flv';
$config['TMB_DIR'] = $config['BASE_DIR']. 

'/media/videos/tmb';
$config['TMB_URL'] = $config['BASE_URL']. 

'/media/videos/tmb';

$config['HD_DIR'] = $config['BASE_DIR'].'/media/videos/hd';
$config['HD_URL'] = $config['BASE_URL'].'/media/videos/hd';
$config

['IPHONE_DIR'] = $config['BASE_DIR'].'/media/videos/iphone';
$config

['IPHONE_URL'] = $config['BASE_URL'].'/media/videos/iphone';        
?>

.htaccess:

# Comment the 2 lines below if the server returns 500 errors!
Options -Indexes
Options +FollowSymLinks

#Uncomment following lines if you want to use image caching!
#<IfModule mod_expires.c>
#  ExpiresActive On
#  ExpiresDefault A1209600
#  ExpiresByType text/html A1
#</IfModule>

# Uncomment following lines if Apache doesnt support MultiViews!
<IfModule mod_rewrite.c>
    RewriteEngine On

    # Uncomment the 2 lines below if you are using www.domain.com
    # as the baseurl for the site and users access your site 
    # via domain.com (THIS IS REQUIRED FOR JQUERY TO WORK)

    RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]
    RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301] 

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* loader.php [L,QSA]
</IfModule>

# Edit below lines and set to
# ErrorDocument CODE /RELATIVE/error.php
# If the script is installed in the default document
# root then relative is null.
#ErrorDocument 401 /error.php
#ErrorDocument 403 /error.php
#ErrorDocument 404 /error.php

其他信息:sql数据库已成功链接(已测试)

1 个答案:

答案 0 :(得分:0)

我无法确定,因为您还没有举例说明您如何使用您定义的网址,但似乎您正在尝试构建不同网页的绝对网址,以及问题是您已将基本URL定义为:

$config['BASE_URL'] = 'localhost/avs'

包括主机名,但没有包括http://,所以如果您这样做:

<img scr="<?php echo $config['IMG_URL']?>/image.jpg">

您获得相对网址而不是绝对网址,http://localhost/avs/index.php中包含的任何网址都会指向http://localhost/avs/localhost/avs/[anything],因为相对网址是相对于包含它们的文件。

换句话说,如果不包括http://https://,主机名将被解释为路径的另一个目录。

您有两种方法可以解决此问题:

  • 转换绝对网址中的所有网址,包括基本网址中的http://

    $config['BASE_URL'] = 'http://localhost/avs'
    
  • 使用相对于根目录的URL(不包括主机名):

    $config['BASE_URL'] = '/avs'