2009-08-10 10 views
0

では動作しません、この機能部は、リンクを構築:Javascriptの評価バーは私のスクリプトでmodrewriteのURL

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) */ 

と私.htacessは以下の通りです:

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

問題:

私はゲームのページに完全にクエリ文字列モードで動作するajax評価バーを持っています:

(この例では: gamename = 'アームヘリコプター' とgameid = '3')

ゲームリンク:

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

評価リンク(マウスオーバーの星の画像)ModRewriteを使用して

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

: ゲームリンク:

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

評価リンク(星が見つからない、数字のみを表示する) NT)星に:

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

ない:

ここ

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

問題、URL部分 'ゲーム/ ID /' 挿入、をdb.phpへの正しいパスがあるためと考えられます

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

私は2日間かけてさまざまなアプローチを試してテストしましたが、解決策が見つかりませんでした。私はajaxの評価バーを書き直さないか、正しいパスに書き直すルールが必要です。

ありがとう、

ジュニアシニア - ブラジル。

+0

参考にはどのURIを使用しますか?あなたはおそらく "間違った"もの(おそらく相対的なもの)を使用しています。 – Gumbo

+0

こんにちはGumbo、 //ローカルサーバー上のスクリプトのローカルパス: $ cfg ['instdir'] = 'D:/ Program Files/wamp/www/gss /'; スクリプトのURL: $ cfg ['baseurl'] = 'http:// localhost/gss /'; Ajaxのスター評価者へ パス: D: <リンク:/プログラムファイル/ WAMP/WWW/GSS /プラグイン/ ajax_star_rater /私のindex.phpで をdb.php、私はAjaxのスター評価者のために、このリンクを持っています 変更する必要がありますか?絶対パスを使用するには? ありがとう、 ジュニア。 –

答えて

0

プラグイン(http://localhost/gss/game/3/plugins/ajax_star_rater/db.php)を呼び出す評価リンクのhtmlでは、現在のフォルダからの相対パスを使用している可能性があります。ルートフォルダを基準にしたパスを使用する必要があるようです。代わりの

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

希望に役立ちます:

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

あなたはとのリンクを開始/追加およびスクリプトへのフルパスを記述する必要があります。

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); 
} 

あなたは、この行を変更する必要があります - あなたはrating.jsを編集する必要があります:RPC前

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

一部

1

私は解決策を見つけました。PHPが必要です../../

関連する問題