Hallo,

Ik zit met een probleem en heb al uren lopen zoeken dus hoop hier meer antwoord te vinden. Ik hoop dat ik het een beetje kan uitleggen want het is nogal moeilijk om uit te leggen...

Ik heb een website met deze URL:
http://localhost/Projects/PHP%20Project/Root/user/search

Mijn website heeft deze directorystructuren:

root/
 .htaccess
 scripts/
  jquery.min.js
 public/
  index.php
  .htaccess


De .htaccess in mijn root folder verwijst door naar de public folder waar de index.php in staat. Waarop vervolgens natuurlijk de .htaccess in public wordt aangeroepen. Deze zorgt ervoor dat je dingen achter de URL kan typen.

Nu is alleen het probleem dat ik geen JavaScript files op kan halen in de scripts folder. Dit komt denk ik door de .htaccess in mijn root folder. Ik heb allerlei RewriteConditions geprobeerd maar geen eentje werkte...

Mijn .htaccess in mijn root ziet er als volgt uit:

# Turn RewriteEngine on
RewriteEngine On

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

RewriteRule    ^$    public/     [L]
RewriteRule    (.*) public/$1    [L]


Mijn .htacces in mijn public ziet er als volgt uit:

# Turn RewriteEngine on
RewriteEngine On
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
 
# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]


Ik hoop dat jullie het begrijpen en iemand mij kan helpen.

Groeten,
Yanick
Je kunt deze Rewrite condition gebruiken:
RewriteCond %{REQUEST_URI} !^/scripts/
Hmm, ik heb nu dit:

# Turn RewriteEngine on
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/scripts/

RewriteRule    ^$    public/     [L]
RewriteRule    (.*) public/$1    [L]


Maar hij lijkt nog steeds niet te werken, helaas!
Komt dit niet misschien door omdat mijn root map niet in de htdocs folder staat maar in een subdirectory van mijn htdocs? (beetje verwarrend dat ik hem root heb genoemd...).

Heb je verdere ideeën of doe ik iets doms?

Groeten,
Yanick
Zou je misschien wat voorbeelden willen geven?
Wat je precies doet en waar het mis gaat.
Alles gaat goed, je wordt netjes naar de index verwezen en in de index.php kan ik netjes de URL uitlezen door met $_GET['url'].

Als ik bijvoorbeeld deze link heb:
http://localhost/Projects/PHP%20Project/root/user/search
Dan geeft $_GET['url'] netjes user/search terug wat goed is.

Alleen nu wil ik in de index.php een JavaScript file include die in het mapje scripts staat. Dit wilt alleen niet en ik kan hem dus niet laden. Ik heb wel gelezen dat ik het script moet ophalen via de volledige link dus: http://localhost/Projects/PHP%20Project/root/scripts/jquery.min.js. Maar dit werkt niet en hij laad het script niet.

[size=xsmall]Toevoeging op 08/05/2013 11:19:31:[/size]

Iemand anders enig idee? Heb nog steeds lopen googlen maar nog steeds niets gevonden... :(

Groeten,
Yanick

Reageren