Javascript oylaması bar modrewrite adresler ile çalışmıyor

2 Cevap php

Benim komut, bu fonksiyon parçaları bağlantılar kurmak:

if ($type == "mod_rewrite") {
    $prepend = "";
    $append = ".html";

} else if ($type == "query_string") {
    	$prepend = 'index.php?params=';
    	$append = "/";
}
//
//
//
    $gamelink = 'game/id/gamename' (example)
    /* 'game' is a fixed string.  
        'id' and 'gamename' are variables) */

. benim htacess aşağıdaki gibidir:

RewriteEngine on
RewriteRule  ^(.*)\.html$ index.php?params=$1 [NC,L]

Sorun:

Ben oyun sayfasında sorgu dizesi modunda mükemmel çalışan bir ajax oylaması bar var:

(Bu örneklerde: gamename = 'Arm helikopter' ve gameid = '3 ');

Oyun linki:

http://localhost/gss/index.php?params=game/3/Arm-Copter/

Oylama linki (yıldız görüntüleri, fare-over) />

http://localhost/gss/plugins/ajax_star_rater/db.php?j=10&q=arm_copter&t=127.0.0.1&c=10

Using ModRewrite: Game Link:

http://localhost/gss/game/3/Arm-Copter.html

Oylama Link (eksik yıldız, yıldızlı sadece sayılar muhabirine gösterir):

http://localhost/gss/game/3/plugins/ajax_star_rater/db.php?j=10&q=arm_copter&t=127.0.0.1&c=10

Burada sorun, url parçası gibi görünüyor 'oyun / id /' db.php için doğru yolu, çünkü takılı:

http://localhost/gss/plugins/ajax_star_rater/db.php

olup:

http://localhost/gss/**game/3/**plugins/ajax_star_rater/db.php

Ben arama ve çeşitli yaklaşımları test 2 gün geçirdim, ama ben bir çözüm buldum yok. Ben ajax oylaması çubuğunu yeniden yazabilir veya yolları düzeltmek için yeniden olmayan bir kural gerekir.

Selamlar,

Yeni Senior - Brezilya.

2 Cevap

Ben çözüm buldum: Sen rating.js düzenlemek zorunda -

function sndReq(vote,id_num,ip_num,units) {
var theUL = document.getElementById('unit_ul'+id_num); // the UL

// switch UL with a loading div
theUL.innerHTML = '<div class="loading"></div>';

xmlhttp.open('get', 'rpc.php?j='+vote+'&q='+id_num+'&t='+ip_num+'&c='+units);
xmlhttp.onreadystatechange = handleResponse;
xmlhttp.send(null); 
}

Eğer bu satırı değiştirmeniz gerekir:

xmlhttp.open('get', '../../rpc.php?j='+vote+'&q='+id_num+'&t='+ip_num+'&c='+units); 

Rpc.php önce parçası olması gerekir ../../

Eğer kök klasörüne göreceli bir yol kullanmak gerekir gibi (http://localhost/gss/game/3/plugins/ajax_star_rater/db.php) muhtemelen geçerli klasörden göreli bir yol kullanarak eklenti çağırır derece bağlantı için html, geliyor.

Yerine:

<a href="plugins/ajax_star_rater/db.php">Rate me!</a>

Eğer bir start ile bağlantı eklemek ve / komut dosyası tam yolunu yazmak gerekiyor:

<a href="/gss/plugins/ajax_star_rater/db.php">Rate me!</a>

Umut olur.