2017-10-14 1 views
0

Ich habe eine Website mit verschiedenen PHP-Dateien und SQL-Datenbank. Es ist eine Content-Management-Website. Ich versuche, es auf localhost mit XAMPP-Server auf diesem Pfad zu testen: localhost/avs avs ist der Ordner, in dem Index und alle anderen Dateien befinden. Wenn ich die Website zu starten, zeigt es einen Bildschirm spritzen, aber geht nicht weiter Links weil Links als verdoppelt: Enter-Taste: localhost/avs ändert zu localhost/avs/localhost/avsPHP Pfade sind doppelt auf laufendes Skript in localhost

Nach der Code für configs.paths.php ist, in dem ich den lokalen Host Pfade eingefügt, [01 nur Platz BASE_URL I geändert, alles andere ist default]:

<?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 

Weitere Informationen: Die SQL-Datenbank wurde erfolgreich verknüpft (getestet)

+0

Bitte überprüfen Sie, ob htaccess da ist? Gibt es eine Tabelle, wo du URLs speicherst? Könnten Sie bitte Screenshot für weitere Details teilen? –

+0

@ PramodKharade Sir Ich habe den Beitrag bearbeitet und Code von htaccess hinzugefügt, der sich in meinem Ordner avs script befindet. –

+0

bitte um Hilfe –

Antwort

0

Ich kann nicht sicher sein, da Sie kein Beispiel dafür angegeben haben, wie Sie die von Ihnen definierten URLs verwenden, aber es scheint, dass Sie es versuchen die absolute URLs zu verschiedenen Seiten zu konstruieren, und das Problem ist, dass Sie als Basis-URL definiert haben:

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

einschließlich dem Host-Namen aber ohne einschließlich der http://, also wenn Sie so etwas tun:

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

Sie bekommen eine relative URL stattdessen einen absoluten und jede in http://localhost/avs/index.php enthielt URL zu http://localhost/avs/localhost/avs/[anything] Punkt, weil relative URLs in Bezug auf den Pfad der Datei, in der sie enthalten sind.

Mit anderen Worten, ohne die http:// oder https:// wird der Hostname als ein anderes Verzeichnis des Pfades interpretiert.

Sie haben zwei Möglichkeiten, diese zu lösen:

  • konvertiert alle URLs in absoluter URLs einschließlich der http:// in der Basis-URL:

    $config['BASE_URL'] = 'http://localhost/avs' 
    
  • Verwenden URLs relativ zum Stammverzeichnis (ohne einschließlich des Hostnamens):

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