Toon posts:

[htaccess] Multiviews via 404 reroute *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor de site die ik nu aan het bouwen ben wil ik multiviews gebruiken,

Nu wordt de site gehost op een dedicated server waar ik geen toegang toe heb, ik kan niet in de config files van apache gaan klooien.

Maar multiviews bleek je ook op een andere manier te kunnen maken, namelijk in je .htaccess file de 404 pagina redirecten naar een php script, daar de $_SERVER["REQUEST"] exploden op "/" en je kan doen wat je wilt

Alleen het probleem is dat dit niet werkt met IE, zie bijvoorbeeld deze page die ik net heb gemaakt

http://www.4aal.nl/dit/is/een/test

in IE krijg je een error, in Opera of Mozilla werkt het perfect..
de .htaccess code ziet er dan zo uit
code:
1
ErrorDocument 404 /site/index.php

Het probleem is dat de URL relatief is, en dat snapt IE blijkbaar niet, maar als ik de URL van de pagina absoluut maakt, dan redirect de browser hem door naar de betreffende pagina en is de mooie URL weg

Is er een manier om dit toch werkend te krijgen in IE met behoud van de multiview-URL?

[ Voor 10% gewijzigd door Verwijderd op 04-02-2004 11:10 ]


  • PcDealer
  • Registratie: Maart 2000
  • Laatst online: 28-04 11:46

PcDealer

HP ftw \o/

Probeer eens

code:
1
ErrorDocument 404 ../site/index.php


Ik zelf gebruik

code:
1
2
ErrorDocument 403 http://www.<site>.nl/extra/403.html
ErrorDocument 404 http://www.<site>.nl/extra/404.html

[ Voor 56% gewijzigd door PcDealer op 04-02-2004 11:14 ]

LinkedIn WoT Cash Converter


Verwijderd

Topicstarter
PcDealer schreef op 04 februari 2004 @ 11:12:
Probeer eens

code:
1
ErrorDocument 404 ../site/index.php
Dan kan hij hem helemaal niet meer vinden "Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request."
Ik zelf gebruik

code:
1
2
ErrorDocument 403 http://www.<site>.nl/extra/403.html
ErrorDocument 404 http://www.<site>.nl/extra/404.html
Ja maar dan redirect hem hij hem naar die URL en laat hij de multiview URL niet meer zien

[ Voor 6% gewijzigd door Verwijderd op 04-02-2004 11:18 ]


Verwijderd

ik draai multiviews op een apache2 server zonder al te veel opties en ik doe het als volgt:

maak een .htacces in de dir waar je het wil:
code:
1
2
3
4
5
AcceptPathInfo On

<Files bestand>  
 ForceType application/x-httpd-php  
</Files>


bestand is dan een php bestand zonder .php er achter.
zet in dat bestand iets als:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
error_reporting(0);
$url_array=explode("/",$_SERVER['REQUEST_URI']); 
array_splice($url_array, 0, 2);

if(empty($url_array['0'])){
    $page = "index";
}
else {
    $page = $url_array['0'];
}
array_shift($url_array);
if(!include(" . $page . ".php")){
    include("index.php");
}
?> 

en het werkt :)

voor index.php krijg je dan htt://www.jeserver.nl/bestand/index
en alle veriabelen staan in $url_array

Verwijderd

Ik heb gemerkt dat volgens mij google deze pagina's wel ziet als een 404 error en daarom je site niet indexeert. Ik weet niet of dat klopt.

Maar je kan net zo goed de URL rewrite module van Apache gebruiken?

http://httpd.apache.org/docs/mod/mod_rewrite.html

Verwijderd

Topicstarter
Verwijderd schreef op 04 februari 2004 @ 12:55:
ik draai multiviews op een apache2 server zonder al te veel opties en ik doe het als volgt:

8<

voor index.php krijg je dan htt://www.jeserver.nl/bestand/index
en alle veriabelen staan in $url_array
Hmm ik krijg internal server error :?

-edit- he volgens mij werkt het nu wel, ik weet niet wat ik heb veranderd maargoed :)
Verwijderd schreef op 04 februari 2004 @ 13:06:

Maar je kan net zo goed de URL rewrite module van Apache gebruiken?

http://httpd.apache.org/docs/mod/mod_rewrite.html
Ik kan niet bij de config sites van de server

[ Voor 46% gewijzigd door Verwijderd op 04-02-2004 14:06 ]

Pagina: 1