我有一个包含不同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数据库已成功链接(已测试)
答案 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'