2016-03-24 11 views
1

Ich habe eine .htaccess meine Links zu umleiten:Rewrite-Modul blockiert jquery

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

Das Problem ist, dass diese .htaccess nicht jquery erlaubt in meiner Website enthalten sein, obwohl ich diese haben in der <head>

<script src="<?php echo WEBROOT;?>views/js/jquery.js"></script> 

ich schon versucht:

RewriteRule ^(views/js/)($|/) - [L] 

den Ordner außer wenn die jquery.js befindet . Ich habe auch versucht:

RewriteCond %{REQUEST_URI} !^/js/?$ 

aber nichts erlaubt jquery !!

Irgendwelche Lösungen bitte?

+1

'RewriteCond% {REQUEST_FILENAME}! -f' leitet bereits vorhandene Dateien nicht um, es müssen keine speziellen Regeln für jquery hinzugefügt werden. Dein 'src =" wrongpath "' ist falsch –

+0

Danke für deine Antwort, aber ich bin sicher, dass mein 'src =" NotAWrongPath "' weil ich auf die Datei über Strg + u in Chrome zugreifen konnte, versuchte ich sogar mit ' src = "ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js" 'funktioniert aber immer noch nicht! By the way, wenn ich die. Htaccess jquery deaktivieren funktioniert gut !! –

+0

Versuchen Sie '' am Kopf Ihrer Webseite hinzuzufügen. – starkeen

Antwort

0

Das ist mein .htaccess:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

das ist, wie ich JQuery sind:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 

Oder

<script type="text/javascript" src="<?php echo WEBROOT;?>js/jquery.js"></script> 

Und das ist meine index.php Seite:

<?php 
define('ROOT',str_replace('index.php','' ,$_SERVER['SCRIPT_FILENAME'])); 
define('WEBROOT',str_replace('index.php','' ,$_SERVER['SCRIPT_NAME'])); 

require ('core/database.php'); 
require ('core/controller.php'); 
require ('core/model.php'); 
require ('core/view.php'); 


$url = isset($_GET['url']) ? $_GET['url'] : null; 

if (empty($url)) { 
    require ('controllers/home.php'); 
    $controller = new home(); 
    return FALSE; 
} 

$params = explode('/', $url); 
$file = 'controllers/'. $params[0] .'.php'; 
if(is_file($file)){ 
    require $file; 
    $controller = new $params[0](); 
    $model = $controller->loadModel($params[0]); 

    if(isset($params[1])){ 
     if (method_exists($params[0], $params[1])) { 
      $controller->{$params[1]}(); 
     } 
     else { 
      echo '<h1>Method '.$params[1].' of Controller '.$params[0].' Not Found</h1>'; 
     } 
    } 
} else { 
    /* can't find controller*/ 
    echo '<h1>Controller Not Found</h1>'; 
} 

?> 

So JQuery ist erst jetzt auf der Startseite arbeiten, ich meine in Seiten wie:

localhost/myProject/controller1/method1 es nicht

Sorry, wenn es ein langer Post funktioniert aber bitte überprüfen Sie es Jungs