Archief - PHP/APACHE: .htaccess probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Smoerf

Legacy Member
Kay, in plaats van dit:
http://www.foo.com/user.php?id=1

Wil ik variabelen als volgt doorgeven:
http://www.foo.com/user/1


Ik heb al gegoogled en gezocht op tweakers.net. Bij de laatste werd ik overstelpt met informatie maar wat ik ook probeer, het werkt blijkbaar niet.

Ik krijgt op m'n hosting steeds volgende melding:
You are here by mistake - you do not have permission to access this resource or the file does not exist!


Link:
http://jochen.tensixtytwo.com/multiview

Normaal zou http://jochen.tensixtytwo.com/multiview/test/create_user een melding moeten geven, maar dat doet ie niet (lokaal lukt het echter wel)

Ik heb een .htaccess file met daarin volgende waarde:
Options +MultiViews

Weet er iemand wat er fout is? De server moet het ondersteunen, want de demo van myreact werkt ook met dergelijk links, en daar gaf de server geen problemen bij.

dJeez

Legacy Member
Wat staat er in je .htaccess? MultiViews heeft trouwens niets, maar dan ook echt niets te maken met het herschrijven van URLs. De voorwaarde om het te doen werken is trouwens dat mod_rewrite geactiveerd is op de server, en dat jij die mag gebruiken via .htaccess overrides.

Het volgende zou trouwens al een begin kunnen zijn :
Code:
RewriteEngine On
RewriteRule ^user/(.*)$ user.php?id=$1

Maar als de id steeds een getal is, dan kan die (.*) best nog verfijnd worden (zoek daarvoor naar informatie mbt "regular expressions").

Smoerf

Legacy Member
M'n htaccess is nu:
Code:
RewriteEngine On
RewriteRule ^test/(.*)$ test.php?action=$1

En de code van m'n test.php is als volgt:
(Ik wil momenteel enkel testen of ik 1 variabele kan doorgeven
PHP:
<?php

error_reporting(E_ALL);

$link = $_SERVER['PHP_SELF'];
$script = $_SERVER['SCRIPT_NAME'];


$q_strings = substr($link, strlen($script), strlen($script));


$links = split("/", $q_strings);

array_shift($links);

$link_array = array();

for ($n = 0;$n < count($links);$n++){
   $key = $n;
   $val = $n+1;
   if ($key < count($links)){
      if ($val < count($links)){
         $link_array[$links[$key]] = $links[$val];
      }else{
         $link_array[$links[$key]] = "";
      }
   }else{
      echo "error";
   }
   $n++;
}

//print_r($link_array);


if (count($link_array) > 0){
   if (array_key_exists("create_user", $link_array)){
      echo "Create a forum user";
   }elseif (array_key_exists("list_users", $link_array)){
      echo "Create a list of the forum users";
   }elseif (array_key_exists("view_user", $link_array)){
      if (!empty($link_array['view_user'])){
         if (is_numeric($link_array['view_user'])){
            echo "View the profile from user with id " . $link_array['view_user'];
         }else{
            echo "Unexpected error!<br />The error returned was <i>userclass::not_an_integer</i>\n";
         }
      }else{
         echo "Unexpected error!<br />The error returned was <i>userclass::no_user_selected</i>\n";
      }
   }elseif (array_key_exists("edit_user", $link_array)){
      if (!empty($link_array['edit_user'])){
         if (is_numeric($link_array['edit_user'])){
            echo "Edit the profile from user with id " . $link_array['edit_user'];
         }else{
            echo "Unexpected error!<br />The error returned was <i>userclass::not_an_integer</i>\n";
         }
      }else{
         echo "Unexpected error!<br />The error returned was <i>userclass::no_user_selected</i>\n";
      }
   }

}

?>

Ik krijg echter nog altijd dezelfde error (you are here by mistake bla bla)
Het enige irriterende is dat ik weet dat het kan op die host, maar toch werkt het niet :s


Edit: Even ter verduidelijking, ik heb geen toegang tot de httpd.conf.

In de meeste van de tutorials is hetzelfde terug te vinden als wat dJeez hierboven vermeldde, de andere zijn allemaam met de httpd.conf aanpassing.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan