RewriteRule .htaccess ne fonctionne pas
Je suis actuellement en cours d'exécution Apache2 sur ma machine locale, installé avec la dernière version d'Ubuntu.
J'essaie de le faire de base pour la réécriture d'URL fonctionne en utilisant la .fichier htaccess.
Le fichier "http://localhost/page.php?=home" n'existe pas, et l'emplacement "/doesnotexist/home" ne fonctionne pas.
Je voudrais avoir la première page est chargée lorsque le second est demandé.
Mon .fichier htaccess ressemble à ceci:
RewriteEngine On
RewriteRule ^/doesnotexist/(.*)$ /page.php?p=$1
Mon httpd.fichier conf ressemble à ceci:
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
<Directory /var/www>
AllowOverride All
</Directory>
Remarque que mon httpd.fichier conf ressemble exactement comme ça, comme il était vide avant que je l'ai montée.
Le résultat que j'obtiens est: est-ce
Not Found
The requested URL /doesnotexist/home was not found on this server.
J'ai googlé le vivant **** de sortir de ce problème, et je n'ai jamais rien eu d'autre que l'erreur ci-dessus.
Si quelqu'un a des idées, je serais très reconnaissante.
OriginalL'auteur riwalk | 2010-02-03
Vous devez vous connecter pour publier un commentaire.
Pour le bénéfice des autres, j'ai trouvé la réponse:
Dans le fichier "/etc/apache2/sites-enabled/000-default" il y a la ligne:
Le changer en:
OriginalL'auteur riwalk
Vous devez retirer le contexte préfixe de chemin d'accès à partir de votre modèle lors de l'utilisation de mod_rewrite dans un .fichier htaccess. Dans le cas du répertoire racine, le préfixe de chemin est juste
/
. Donc, essayez ceci:OriginalL'auteur Gumbo
Si je place un .htaccess dans /Library/WebServer/Documents et ouvrir "localhost/"; pour le tester, cela fonctionne comme prévu. Il ne fonctionne tout simplement pas dans "~/Sites". J'ai essayé sur Mac OS X Mavericks.
OriginalL'auteur Varun Bhatia