mod rewrite stuurt me door naar index van mijn root, niet huidige map

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Snelle Jaap

Snelle Jaap

25/10/2018 10:58:23
Quote Anchor link
Ik heb een .htaccess bestand waar ik een paar rewrites in heb staan, bijvoorbeeld ^home naar index.php, het probleem is alleen dat ik een server heb met meerdere sites. Een beetje zoals: root/websites/mijnhuidigeproject

Het .htaccess bestand staat in de map van mijn huidige project maar wanneer ik naar de url toe ga en /home toevoeg kom ik op de index die in mijn root folder staat.

Waar zou dat aan kunnen liggen? Ik heb ook een base tag toegevoegd die naar de juiste map verwijst.

Mijn .htaccess:

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
DirectoryIndex
RewriteEngine  on
RewriteBase /
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]

#Indexes uitzetten
Options -Indexes

#Cross site access toestaan
Header set Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"

#CMS rewrite
#Aanzetten wanneer website live staat
#RewriteRule ^cms/$ /cms/administrator [L]

#Projectnaam

DirectoryIndex index.php

RewriteRule            ^home index.php [QSA,L]
RewriteRule            ^overzicht shopping-cart-page.php [QSA,L]
RewriteRule            ^bestellen checkout.php [QSA,L]
RewriteRule            ^contact contact.php [QSA,L]
RewriteRule            ^status success.php [QSA,L]
RewriteRule            ^info/(.*) content.php?alias=$1 [QSA,L]
RewriteRule            ^categorie/(.*) catlisting2.php?alias=$1 [QSA,L]
#Zorg ervoor dat onderstaande regels alleen worden uitgevoerd als het geen folder (d) is of een file (f)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/([\w-]+)/?$ product-page.php?cat=$1&alias=$2 [QSA,L]
#RewriteRule ^test/([\w-]+)/([\w-]+)/?$ product-page2.php?cat=$1&alias=$2 [QSA,L]
RewriteRule ^([\w-]+)/?$ catlisting.php?alias=$1 [QSA,L]

#ErrorPages
ErrorDocument 404 /error/404.php
ErrorDocument 403 /error/403.php
ErrorDocument 500 /error/500.php
ErrorDocument 501 /error/501.php
ErrorDocument 503 /error/503.php
ErrorDocument 504 /error/504.php


Op internet kan ik hier niks over vinden.
 
PHP hulp

PHP hulp

06/11/2024 00:30:02
 
Adoptive Solution

Adoptive Solution

25/10/2018 11:34:11
Quote Anchor link
Ik heb op m'n NAS ettelijke websites met elk een eigen (sub)-domeinnaam.

Dat houdt in dat elke map met een site de root van dat (sub)-domein is.

Je hoeft dan nooit te tobben om ervoor te zorgen dat de url goed uitkomt.
 
Thomas van den Heuvel

Thomas van den Heuvel

25/10/2018 15:11:26
Quote Anchor link
Het klinkt alsof je één codebase hebt waaronder meerdere sites actief zijn. Dit kun je waarschijnlijk het beste oplossen door je .htaccess zo kaal mogelijk te houden waarbij alle requests worden doorgestuurd naar de voordeur van je applicatie (index.php).

Daar ontleed je verder wat er met requests zoals /home moet gebeuren. Dit laat je mede afhangen van de hostname (een switch-statement op grond van $_SERVER['SERVER_NAME']). Op eenzelfde wijze kun je voor elke site een aparte database selecteren zodat je voor elke site ook echt een aparte administratie kunt bijhouden.

Hiervoor is het wel noodzakelijk dat je het gebruik van routing wat verder uitdiept, en er eigenlijk geen standalone scripts meer in de webdirectory voorkomen -behalve de meest noodzakelijke zoals index.php-, omdat dit mogelijk kan conflicteren met de routing.
Gewijzigd op 25/10/2018 15:13:24 door Thomas van den Heuvel
 



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.