2011-04-04 3 views
1

gens Chers,
Imaginez un site One PageRewriteCondition rewriteRule Comment faire Tout le trafic direct vers un seul fichier?

RewriteCond %{HTTP_HOST} ^1pagesite.org$ 
RewriteRule ^$ 1pagesite.php [L] 

Actuellement, la page d'accueil ne présente correctement le 1pagesite.php.

Cependant, lorsqu'un autre fichier est demandé dire, test.php qui est sur le serveur en effet, que test.php est montré !, alors que je tiens à souligner TOUT et TOUT trafic vers 1pagesite.php pour le moment. Comment faire pour que cela se produise sothat aucun autre fichier ou dossier/fichier ou quoi que ce soit après que ce domaine est présenté et tout est dirigé vers 1pagesite.php?

Merci beaucoup pour les conseils et suggestions pour résoudre ce casse-tête. Cheers, Sam

+2

RewriteRule^(. *) $ 1pagesite.php –

+0

Cool mec! merci, placez-le comme réponse afin que je puisse le traiter de cette façon :) @Lawrence – Sam

+1

n'était même pas 80% sûr que j'avais raison j'ai eu peur lol –

Répondre

2
RewriteRule ^.*(html|php)$ 1pagesite.php [L] 

Note: Cette réoriente demande uniquement .html et pages .php

+0

Merci @Sander +1 pour le notifier ... En effet ... hmmm I Guesse ce que je souhaite est d'avoir * toutes les pages PHP et HTML directement à 1pagesite.php, mais laissez d'autres choses être, sinon pas de pause imges/css/folder/layout.css comme vous l'avez souligné. Salutations de Delft! – Sam

+0

@Sam: Je crois que cette règle entraînerait une redirection infinie. – anubhava

+0

J'ai mis à jour la règle pour rediriger uniquement les requêtes html/php. @anubhava: Cela ne devrait pas provoquer une redirection infinie car la réécriture est interne, pas une redirection 301. –

1

Pouvez-vous essayer cette règle:

RewriteCond %{HTTP_HOST} ^1pagesite.org$ [NC] 
RewriteCond %{REQUEST_URI} !1pagesite.php$ 
RewriteRule \.(php|html)$ /1pagesite.php [R=302,L] 

pour rediriger uniquement les pages php et html à 1pagesite. php

+0

Merci +1 @Anubhava mais ne semble pas fonctionner ?? Je reçois une page blanche – Sam

+0

@Sam: Avant de poster je l'avais testé sur mon installation apache locale et ça marchait bien. Je suggère de commenter la première ligne, c'est-à-dire 'RewriteCond% {HTTP_HOST}^1pagesite.org $ [NC]' et réessayez. – anubhava

+0

@Sam: Je viens de faire une modification mineure pour inclure 'R = 302' aussi pour le faire rediriger dans le navigateur aussi.Si cela ne fonctionne toujours pas, pouvez-vous «terminer» le journal d'accès de votre serveur Web lorsque vous exécutez vos tests. – anubhava

1

Votre redirection ne correspond qu'à ^$ c'est-à-dire uniquement la page racine (chaîne vide).

RewriteCond %{HTTP_HOST} ^1pagesite.org$ 
RewriteRule ^.*$ 1pagesite.php [L] 

Ainsi, chaque demande sera redirigée vers la page 1pagesite.php (images, css, ... comme Sander dit).

Si vous avez besoin de filtrer certains contenus, vous pouvez ajouter un

RewriteCond %{REQUEST_FILENAME} !^.*\.(css|jpg)$ 

pour activer le fichier Css et .jpg de votre/répertoire pour être servi. Cela peut être personnalisé pour d'autres fichiers subdirecories etc ...

Questions connexes