• 07-11-2013, 14:34:07
    #1
    merhabalar,

    .htaccess dosyamız şu şekildedir;

    RewriteEngine on
    RewriteRule ^([^/]+).html$ index.php?page=$1 [L]
    RewriteRule ^(en)/([^/]+).html$ index.php?lang=$1&page=$2 [L]

    index.php dosyasında da <img src=”images/a.jpg”>

    “www.alanadi.com/iletisim.html” çağrıldığında resim görünürken
    “www.alanadi.com/en/iletisim.html” çağrıldığında resim görünmüyor çünkü
    resim yolunu sanırım “en/images/a.jpg” olarak algılıyor.

    bunu çözmek için “/” işaretini dosya yoluna <img src=”/images/a.php”>
    şeklinde koyduk ama bu sefer siteyi bir alt dizinde çalıştırdığımızda
    resim yolunu yine bulamıyor, çünkü ana dizinde arıyor resmi.

    bizim istediğimiz resim yolunda “/” işaretini kullanmadan vermek ve bu siteyi
    alt dizinlerde çalıştırdığımızda sorun olmaması. (web sitesi içinde çağırdığımız .js, .css v.b dosyalar da kullanılıyor, bunlar içinde aynı sorun geçerli)

    konu hakkında yardımcı olursanız sevinirim.
  • 07-11-2013, 21:50:02
    #2
    Bu konu için en iyi çözüm şudur;

    fonksiyon yada ayar.php gibi tüm dosyalarınıza çağırdığınız dosyanın içine bir fonksiyon oluşturun örnk :

    $siteURL = "http://www.alanadiniz.com/";
    bu fonksiyonu da şu şekilde kullanın ;

    <img src=”<?php echo $siteURL; ?>images/a.php”>
    LÜTFEN!
    Bu mesaj size yardımcı olduysa sağ alttaki butonuna tıklayınız.!
  • 08-11-2013, 22:22:12
    #3
    Base href kullanabilirsiniz.
  • 08-11-2013, 23:48:13
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Kolayca uygulamanızın çalıştığı klasörün URL adresini almak için aşağıdaki fonksiyonu kullanabilirsiniz. ( Verdiğim fonksiyonun SSL desteği mevcuttur. )

    	function is_ssl() {
    		if(isset($_SERVER['HTTPS'])) {
    			if('on' == strtolower(getenv('HTTPS')))
    				return true;
    			if('1' == getenv('HTTPS'))
    				return true;
    		} else if(isset($_SERVER['SERVER_PORT']) && ('443' == getenv('SERVER_PORT'))) {
    			return true;
    		} else {
    			return false;
    		}
    	}
    	
    	function base($extra_path = null) {
    		$scheme = (is_ssl()) ? 'https' : 'http';
    		$host = getenv('HTTP_HOST');
    		$base_path = str_replace('\\', '/', dirname(getenv('SCRIPT_NAME')));
    		
    		$url = sprintf('%s/', rtrim(sprintf('%s://%s%s', $scheme, $host, $base_path), '/'));
    		
    		if(!is_null($extra_path))
    			$url .= ltrim($extra_path, '/');
    		
    		return $url;
    	}
    Kullanımı;

    base(); // https://www.r10.net/
    base("members/52908-saintx.html"); // https://www.r10.net/members/52908-saintx.html
  • 08-11-2013, 23:49:17
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    <base href="http://www.siteadi.com" /> kullanarak bu sorunu çözebilirsiniz.
  • 11-11-2013, 11:24:03
    #6
    Tüm cevaplar için teşekkür ederim. ulast ve Sejuka arkadaşların önerdiği base href işimi gördü.