[MOD_Rewrite] RewriteBase in subfolders

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gerben Jacobs

Gerben Jacobs

10/01/2010 13:09:00
Quote Anchor link
Beste,

Ik heb op mijn lokale WAMP server, in de root, een project lopen met .htaccess.

Nu wil ik in een andere map ook een .htaccess gebruiken zodat ik van mijn test server naar de production server kan kopieren zonder problemen.
Anders moet ik alle links van index.php?page=user naar /user/ gaan hernoemen etc.

Nu heb ik op mijn lokale subfolder project het voor elkaar gekregen om dus die 'neppe' urls te creeren. Maar mijn CSS en JS bestanden willen niet goed laden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
RewriteEngine On

RewriteBase /_ander/newsite/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L,R=301]

# Bestaande bestanden of mappen uitsluiten
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule ^(.*?)$ $1 [L]


RewriteRule ^(.*)/(.*)/ index.php?page=$1&params=$2 [L]
RewriteRule ^(.*)/ index.php?page=$1 [L]


Iemand enig idee wat er fout gaat of wat hier mist?
 
PHP hulp

PHP hulp

22/12/2024 08:16:37
 
Joren de Wit

Joren de Wit

10/01/2010 13:16:00
Quote Anchor link
Hoe zien de verwijzingen naar je CSS en JS files eruit?
 
Gerben Jacobs

Gerben Jacobs

10/01/2010 13:29:00
Quote Anchor link
Gewoon met slash "/" er voor..

Edit. Als ik via de broncode uit FF op die links klik, verwijzen ze helemaal door naar 'localhost'.
Gewijzigd op 01/01/1970 01:00:00 door Gerben Jacobs
 
Joren de Wit

Joren de Wit

10/01/2010 13:41:00
Quote Anchor link
Staan de subfolders wel in het pad waar die links naartoe verwijzen? Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
/_ander/newsite/style.css

Als je alleen /style.css hebt staan, wordt er inderdaad in de root naar style.css gezocht en daar zal de file niet gevonden worden.
 
Gerben Jacobs

Gerben Jacobs

10/01/2010 13:56:00
Quote Anchor link
Maar daarvoor heb ik toch RewriteBase zodat ik daar kan zeggen "/_ander/newsite/" zodat ik in mijn code gewoon / kan zetten en dat wanneer ik alles upload naar newsite.ext dat de URLs dan gewoon werken.

Anders kan ik in de live code alle "/_ander/newsite/" codes eruit slopen..
 
Gerben Jacobs

Gerben Jacobs

12/01/2010 14:40:00
Quote Anchor link
Bump.

Iemand die hier een oplossing voor heeft?
 
Joren de Wit

Joren de Wit

12/01/2010 15:25:00
Quote Anchor link
De RewriteBase vertelt enkel vanaf welke positie de daarna volgende RewriteRules moeten gelden. Maar als jij nooit in die betreffende map uitkomt (zoals in het geval van je CSS en JS) zal de .htaccess nooit geladen worden en je RewriteRules dus nooit toegepast worden.

Jij draait de werking nu eigenlijk om, je probeert mod rewrite te gebruiken om gedeeltelijke urls aan te vullen. Maar het is juist bedoeld om volledige urls (onzichtbaar) te herschrijven naar andere urls.

Je zult dus in elke link het gedeelte /_ander/newsite/ op moeten nemen. Uiteraard kun je daar een slimme manier voor verzinnen door bijvoorbeeld een variabele $base te gebruiken die je voor alle links zet. Zodra je de site verplaatst naar je live omgeving, hoef je dan alleen nog deze $base variabele aan te passen...
 
Gerben Jacobs

Gerben Jacobs

12/01/2010 22:07:00
Quote Anchor link
Da's best klote.

Bedankt voor je antwoord Blanche.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.