Aller au contenu

Sujets conseillés

Posté (modifié)

Bonjour,

je m'explique

Soit une url :

http://www.site.tld/rss

redirigée vers :

http://www.site.tld/index.php?page=rss

Cette description est :

RewriteRule ^rss$ /index.php?page=rss [L]

Sur mon ancien hébergement mutu, ça marchait.

Maintenant, sur mon dédié, j'ai pas de redirection, je suis directement envoyé dans le répertoire :

http://www.site.tld/rss/index.php?page=rss

Comment remédié à ce problème ?

Déjà vu, mais incapable de poser la bonne question à Goo...

Bonne soirée,

Arnaud

Modifié par lenono69
Posté

RewriteRule /?rss$ index.php?page=rss [L]

devrait marcher ;)

Posté
RewriteRule /?rss$ index.php?page=rss [L]

devrait marcher ;)

Bonjour Dan, et enchanté !

Merci pour cette réponse, mais malheureusement, cela ne fonctionne pas.

Il me semblait qu'il y avait une formule du genre :

RewriteCond %{REQUEST_FILENAME} !-d

Cela dit-il quelque chose ?

Merci à tous (et encore mes respects Maître ;) )

Posté

Bonjour,

Oui, cette condition existe bien.

Mais avec l'URL de ton site ce serait plus simple qu'avec site.tld ;)

Posté

Bon, alors voilà avec l'url de mon site.

Je voulais pas faire de pub, mais j'avoue m'arracher les cheveux !

.info est en prod en mutu, .com est le dev en dédié.

Alors voilà, http://www.bdfci.info/apis et http://www.bdfci.info/rss mènent à des des pages d'information.

Et http://www.bdfci.com/apis amène au rep existant /apis et http://www.bdfci.com mène au rep rss qui existe aussi.

Dans mon .htaccess de bdfci.com, j'ai ceci :

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^apis$ /index.php?page=apis [L]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^rss$ /index.php?page=rss [L]

Dans mon .htacces de bdfci.info, j'ai ceci :

RewriteRule ^apis$ /index.php?page=apis [L]
RewriteRule ^rss$ /index.php?page=rss [L]

Ce dernier fonctionne très bien !

Sur developpez.com, il y avait ce topic, mais j'ai pas tout compris.....

http://www.developpez.net/forums/d682611/w...est_filename-d/

Je ne vois pas mon erreur.

Merci d'avance !

Arnaud

Posté

C'est dans ton .htaccess de bdfci.com que tu fais erreur ...

Tu testes si rss et api sont des répertoires, et comme ce n'est pas le cas, la réécriture ne se fait pas ;)

Donc, soit tu supprimes la condition, soit tu l'inverses comme ceci :

RewriteCond %{REQUEST_FILENAME} !-d

Posté

Merci Dan

Mais il me semblait que :

RewriteCond %{REQUEST_FILENAME} !-d

testait : si ce n'est pas un répertoire.

Or c'en est un !

ni

RewriteCond %{REQUEST_FILENAME} -d

, ni

RewriteCond %{REQUEST_FILENAME} !-d

ne fonctionnent:

Forbidden

You don't have permission to access /rss/ on this server.

Et en supprimant ces clauses de test,

Forbidden

You don't have permission to access /rss/ on this server.

RewriteRule /?rss$ index.php?page=rss [L]

RewriteRule ^rss$ /index.php?page=rss [L]

Pareil, ne fonctionne pas... :nonono:

J'ai essayé moult combinaison, rien ne marche... J'y pers mon latin (pas étendu, mais quelques notions quand même )

ARF......

IDIOT BETE QUE JE SUIS :whistling::sick::pissed:

Dan, tu étais si proche de la vérité !

Voilà la bonne combinaison :

RewriteRule /?rss/$ /index.php?page=rss [L]

Merci beaucoup de ton aide en tout cas !

Et bon week end à tous,

Arnaud

Posté
Mais il me semblait que :

RewriteCond %{REQUEST_FILENAME} !-d

testait : si ce n'est pas un répertoire.

Or c'en est un !

Il fallait dire que le répertoire /rss/ existait bien physiquement.

Dans ce cas il faut le / final parce qu'il est ajouté par Apache automatiquement, avant de passer la main à mod_rewrite.

;) Dan

Posté

Tout à fait !

Et je vous remercie de vos tutos-conseils-astuces et surtout patience ;-)

Merci et bonne continuation au Hub.

Arnaud

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...