2009-08-10 6 views
0

작동하지 않습니다,이 기능 부품은 링크를 구축 :자바 스크립트 평가 바가 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 = '암 헬리콥터'와 게임 ID = '3')

게임 링크 : 게임 링크 :

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

이 ModRewrite를 사용

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

평가 링크 (마우스 오버 별 이미지) :

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

안녕 검보, // 내 로컬 서버에있는 스크립트의 로컬 경로 : $ cfg [ 'instdir'] = 'D :/Program Files/wamp/www/gss /'; 내 스크립트의 URL : $ cfg [ 'baseurl'] = 'http : // localhost/gss /'; 아약스 스타 평가자에 경로 : D : <링크 :/프로그램 파일/WAMP/www /에서 GSS/플러그인/ajax_star_rater/내의 index.php에서 db.php를, 나는 아약스 스타 평가자이 링크가 무엇을 변경해야합니까? 절대 경로를 사용 하시겠습니까? 감사합니다. 주니어. –

답변

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가 필요합니다 ../../

관련 문제