2013-03-06 4 views
0

SO J'ai dans mon fichier .htaccesshtaccess mod_rewrite me donner 404

RewriteEngine On 
RewriteBase /core/ 
RewriteCond %{QUERY_STRING} ^page=([0-9]+)$ 
RewriteRule ^page page/%1/? [L] 

mon URL est

http://localhost/core/page.php?page=8 

avec les règles appliquées je reçois ..

Not Found 
The requested URL /core/page/8/ was not found on this server. 

Cela fonctionne sur wampserver 2.2

la structure du fichier ressemble à

c:/wamp/www/core 

le fichier .htaccess se trouve dans le répertoire/core /. Qu'est-ce qui me manque? J'ai vérifié mon fichier apache.conf et ça a l'air bien.

+0

Attendez, je suis confus. Vous essayez de réécrire **/core/page/8/** à **/core/page.php? Page = 8 ** à droite? Voir ma réponse mise à jour. – kjetilh

Répondre

2

Je pense que vous avez eu le mauvais chemin. Quand logiquement penser à la réécriture vous ne réécrivez pas URL d'origine-nouvelle URL (par exemple page.php? Page = 8-la page/8/) vous réécrivez fait la page/8/ à page.php? page = 8. Vous dites au serveur comment il doit interpréter l'URL inconnue.

Donc, si je comprends bien ce que vous voulez atteindre est:

  1. utilisateur visiteslocalhost/core/page/8/
  2. utilisateur est servi (sous le capot) localhost/core/page.php? page = 8

Je crois que le RewriteRule suivant sera faire l'affaire (la condition de la chaîne de requête n'est pas nécessaire):

RewriteRule ^page/(\d+)/$ page.php?page=$1 [L] 
+0

Je suis un idiot merci. – user1620152