Welche htaccess-Regeln werden das Unterverzeichnis, das die Site bedient, vom URI (404, falls enthalten) und internen Links ENTFERNT?
** SIEHE UPDATE UNTEN *****
Meine primäre Domain-Site soll von einem Unterverzeichnis auf meinem Server aus bedient werden, das den gleichen Namen wie die Domain hat, so dass es wahrscheinlich verwirrend wird, diesen chaotischen Block meiner Webroot-Datei .htaccess zu lesen:
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase / # remove www RewriteCond % ^www\.(.+)$ RewriteRule ^.*$ %1 [NC,QSA,R=301] #RewriteCond % . [OR] RewriteCond % ^(www\.)?my\-web\.agency$ RewriteRule ^my-web.agency/ - [L,R=404] RewriteRule !^my-web.agency/ my-web.agency/% [NC,QSA] </IfModule>
Ich habe gerade so lange daran gearbeitet, die Regeln geändert und die Struktur so strukturiert, dass diese Unzulänglichkeit genau das ist, was ich derzeit habe.
Das www. STAYS, so dass dieses Stück zu entfernen völlig unwirksam ist.
Die! ^ My-web.agency / rule-Regel dient der Website tatsächlich als effektiv. Mein nachfolgender Versuch, eine 404 zu rendern, wenn das Unterverzeichnis in der URI FAILS enthalten ist.
Bitte erklären Sie mir, wie Sie das alles gerade machen können. Ich versuche, die Dokumente zu lesen und zu lernen und es herauszufinden, aber irgendwie kann ich es einfach nicht und ich habe schon viel Zeit darauf investiert. Ich muss wirklich aufhören, bitte helfen, ich bin immer dankbar dafür lernen und beachten Sie sorgfältig. Vielen Dank.
***** UPDATE: ** Jetzt habe ich
# remove www, externally for consistent domains (successful) RewriteCond % ^www\.(.+)$ RewriteRule .* http://[[percent]]1/$0 [NS,L,R=301,QSA] RewriteCond % ^(www\.)?my\-web\.agency$ RewriteCond % ^my-web.agency RewriteRule ^(.*)$ - [R=404,L,NC] RewriteCond % ^(www\.)?my\-web\.agency$ RewriteCond % !^my-web.agency RewriteRule ^(.*)$ /my-web.agency/$1 [L,NC,QSA]
Das macht das WWW effektiv. verschwinden, wenn versucht wird. Aber alle INTERNAL LINKS ENTHALTEN NOCH das Unterverzeichnis, das versteckt werden soll (zB interne Links lesen " http://my-web.agency/my-web.agency/somepage ") und den Zugriff auf Seiten mit dem Unterverzeichnis im URI funktioniert immer noch; Ich möchte lieber eine 404 zurückgeben.
DocumentRoot oder RewriteBase scheinen logisch mögliche Lösungen zu sein, wenn ich nur die richtige Implementierung herausfinden könnte. (Das [[percent]]
Vorgehen http: // in 1st RewriteRule besteht darin, es durch den Editor zuzulassen, ohne einen Fehler zu melden; es wird lediglich angegeben %
.)
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4