[MOD_Rewrite] RewriteBase in subfolders
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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¶ms=$2 [L]
RewriteRule ^(.*)/ index.php?page=$1 [L]
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¶ms=$2 [L]
RewriteRule ^(.*)/ index.php?page=$1 [L]
Iemand enig idee wat er fout gaat of wat hier mist?
Hoe zien de verwijzingen naar je CSS en JS files eruit?
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
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.
Anders kan ik in de live code alle "/_ander/newsite/" codes eruit slopen..
Iemand die hier een oplossing voor heeft?
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...
Bedankt voor je antwoord Blanche.