2012-04-11 7 views
0

Ich brauche jede www.mysite.com/anything/anything ODER UND SCHLIESST www.mysite.com/appWie schreibe ich eine Rewrite-Regel in htaccess?

TO www.mysite.com www.mysite.com/anything umleiten/app

Natürlich möchte ich ausschließen ist optional. Es wäre nur eine zusätzliche Weiterleitung, die mehr Zeit in Anspruch nehmen würde, aber es wäre schön, wenn es ausgeschlossen wäre.

ich diese grundlegenden Beispiele gefunden http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html und haben dies getan:

RewriteRule ^*/*/$ /app 
RewriteRule ^*/$ /app 

aber es funktioniert nicht, und ich weiß noch nicht, wie/app bitte

Hilfe auszuschließen?

UPDATE

denke ich. * Für 0 oder mehr Punkte in regulären Ausdrücken steht, sind meine Beispiele völlig falsch, ich brauche etwas Syntax statt den Punkt Sie in Ihren Antworten verwendet.

Antwort

3

Sie konnten dieses versuchen:

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/app$ 
RewriteRule ^.*$ /app [L] 
2

Funktioniert das für Sie?

RewriteEngine on 
RewriteRule ^.*$ app/ [L] 

Leider schließt es nicht den richtigen Pfad aus. Aber versuch es zuerst.

+0

Vielleicht auch ohne den Schrägstrich – Dion

+0

wofür steht [L]? –

+0

. * Ist natürlich ein regulärer Ausdruck, tut mir leid. \. * ist für Punkte. * ist für alles. Entnommen von: http://www.easymondewrite.com/notes-last Das L-Flag weist Apache an, die Verarbeitung der Rewrite-Regeln für diese Anfrage zu stoppen. Was jetzt oft nicht realisiert wird, ist, dass es nun eine neue Anfrage für den neuen, umgeschriebenen Dateinamen macht und die Überarbeitung der Regeln erneut beginnt. So ist es wahrscheinlich für Sie unnötig. –

0

Setzen Sie diesen Code in Ihre .htaccess unter DOCUMENT_ROOT:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^(?!app/).*$ app [L,NC] 

Negative Look-Ahead-in über RewriteRule wird alles außer einer URI umleiten, die mit /app/-/app beginnt .

Verwandte Themen