Vraag & Antwoord

Webprogrammeren & scripting

.htaccess directory veranderen zonder adresregel

10 antwoorden
  • Beetje brakke topictitel misschien, maar weet geen betere. Punt is: ik heb nu een website met allemaal handmatig gecreëerde htmlletjes voor de artikelen, een forum en straks ook een wiki. Structuur grofweg inclusief wiki: root/forum root/wiki artikelen (rechtstreeks onder de root dus) Nu ben ik de artikelen in een CMS aan het pompen. Dat CMS staat in root/cms. Als men straks www.swordfactsbenelux.nl intypt, staat er dus niets meer. Nu is het vrij simpel om dat door te laten linken naar de map modx, maar dat vind ik om diverse redenen niet ideaal. Ik zou daarom willen dat als iemand navigeert naar een bestand in de root (dus bijvoorbeeld www.swordfactsbenelux.nl/swords.html) hij uitkomt in www.swordfactsbenelux.nl/cms/swords.html maar dat in de adresregel géén cms/ is opgenomen. Dit zou dan alleen voor bestanden in de root moeten, niet voor de mappen met het forum en de wiki. Ik ben er vrij zeker van dat dit mogelijk is met .htaccess, maar ik kan het niet vinden. Heeft misschien te maken met dat ik de juiste term er niet voor ken, maar kan iemand me hier misschien mee helpen?
  • Zoiets misschien... Snel uit mijn hoofd. Zou wel weer foutje in zitten maar probeer 't eens... Mocht je echt alleen .html files willen redirecten, dan moet je die eerste reguliere expressie even aanpassen...[code:1:0a46caba29]RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/(.+)$ /cms/$1 [L][/code:1:0a46caba29]
  • Thanks, ga het vanavond eens testen. Voor mijn begrip, wat doen die twee condities precies? En verder: wordt hiermee niet [i:b908f430fc]alles[/i:b908f430fc] (dus ook de directories met de wiki en het forum) herschreven?
  • Waarom doe je het niet in php? Lijkt me net zo makkelijk eigenlijk en het werkt op meer hosts..
  • Hoe zou dat dan in PHP moeten? Header location ken ik wel, maar de adresregel herschrijven zou ik echt niet weten. @Buur: ik krijg die methode op mijn lokale (XAMPP) bak niet voor elkaar. Maar misschien heeft dat te maken met XAMPP, want zodra ik die rewrite engine aanzet krijg ik een 500-error.
  • Misschien begrijp ik je probleem niet.. maar met een header location kun je toch gewoon zorgen dat de gebruiker op het goede adres uit komt?? Het is voor zover ik weet niet mogelijk om de rewrite engine op windows te gebruiken.. ik ben vrij zeker dat deze enkel op een linux installatie werkt.
  • [quote:3bb5d2ae71="yendis"]Misschien begrijp ik je probleem niet.. maar met een header location kun je toch gewoon zorgen dat de gebruiker op het goede adres uit komt??[/quote:3bb5d2ae71]Klopt, maar ik wil méér dan dat. Ik wil dat het adres wat de gebruiker ziet gelijk is aan wat hij intypt, maar dat de data van een andere directory getrokken wordt. Dan kom je dus uit op een rewrite voor zover ik weet. [quote:3bb5d2ae71="yendis"] Het is voor zover ik weet niet mogelijk om de rewrite engine op windows te gebruiken.. ik ben vrij zeker dat deze enkel op een linux installatie werkt.[/quote:3bb5d2ae71]Dat kan dus aardig kloppen met het gedrag dat ik gisteren waarnam. :) Wel jammer, want ik test het liefst alles in XAMPP voordat ik het online verander, zéker als ik voor mij nieuw terrein bewandel.
  • [quote:458e9fd61d="Ger"]Klopt, maar ik wil méér dan dat. Ik wil dat het adres wat de gebruiker ziet gelijk is aan wat hij intypt, maar dat de data van een andere directory getrokken wordt. Dan kom je dus uit op een rewrite voor zover ik weet.[/quote:458e9fd61d] Als je dat wil kom je inderdaad uit op rewrite.. [quote:458e9fd61d="Ger"] Dat kan dus aardig kloppen met het gedrag dat ik gisteren waarnam. :) Wel jammer, want ik test het liefst alles in XAMPP voordat ik het online verander, zéker als ik voor mij nieuw terrein bewandel.[/quote:458e9fd61d] In dat geval kan je het beste even een vmware image opzetten op je computer met een linux distro (stelt niet zo veel voor) alwaar de rewriting wel kan testen. Hier is een handig lijstje met wat images: [url]http://www.thoughtpolice.co.uk/vmware/[/url]
  • Thanks, maar inmiddels heb ik het al voor elkaar dankzij de input van Buur en wat [url=http://httpd.apache.org/docs/2.2/rewrite/]leeswerk op Apache.org[/url]. Onderstaande durfde ik wel te proberen en dit lijkt inderdaad goed te werken: [code:1:3156e3d239]RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/forums/ RewriteCond %{REQUEST_URI} !^/wiki/ RewriteRule (.*) /cms/$1 [L][/code:1:3156e3d239]
  • Misschien ook een uitzondering maken voor je images directory of zo, als je die hebt, anders worden de plaatjes ineens niet meer gevonden.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.