2012-04-11 15 views
0

Ich organisiere Unterwebsites in verschiedenen Ordnern auf einem LAMP-Server, um die Wartung zu erleichtern, möchte aber nicht, dass der Endbenutzer weiß, dass er über die URL in diesen Ordnern organisiert ist.Skalierbare URL-Rewrite-Regel

Verzeichnisstruktur Beispiel:

/category1/website1
/category1/Website2
/category2/Website3
/category2/Website4
/category2/Website5
/Kategorie3/Website6
/category4/website7
usw.

Derzeit wird es als "http: // www .mydomain.com/category1/website1 "aber ich möchte es immer als" http://www.mydomain.com/website1 "anzeigen lassen - auch wenn sie den Kategorienamen dort eingeben. Der Trick ist, dass ich dies aus einer .htaccess-Datei mit X Menge von Kategorien mit X Anzahl von Sub-Websites in ihnen tun muss. Zurzeit verwende ich "Redirect 301/website1/category1/website1" für jede Website, um Benutzern die Verwendung des kürzeren Links zu ermöglichen, aber am Ende sehen sie die Kategorie in der Adresse und die .htaccess-Datei ist lang mit über 200 Unterwebsites beteiligt. :(

Jede mögliche Hilfe geschätzt

+0

hilft Wie wissen Sie, i In welcher Kategorie ist eine Website? Wenn Sie "/ website1" zu "/ category1/website1" umleiten, woher wissen Sie, dass "website1" in "category1" steht? Fehle ich etwas? –

+0

Ich manuell erstellen Sie das Verzeichnis für jede Website und sie haben jeweils einen eindeutigen Namen - so zum Beispiel wäre Website1 nie in mehreren Kategorien. Intern werden sie logisch genannt, eine Art wie "Apfel" wäre in der Kategorie "Frucht" keine Kategorie "Fleisch". Hast du das gefragt? – gcs

+0

Ja, aber Sie können nicht dynamisch umleiten, ohne die mit der Website verknüpfte Kategorie zu kennen. Sie müssen entweder Ihre Kategorie/Website-Mapping irgendwo speichern oder Sie müssen es hart codieren. –

Antwort

0

mod_rewrite Mit es ist ziemlich geradlinig, wenn Sie diese manuell in gehen geben:.

RewriteEngine on 
RewriteRule ^/website1$ /category1/website1 [L,NC] 
RewriteRule ^/website2$ /category1/website2 [L,NC] 

Es ist möglich, eine RewriteMap als auch zu schaffen Es gibt viele hilfreiche Informationen in der documention

Hoffnung, dass.

+0

Glauben Sie mir, Forum-Posting war meine letzte Zuflucht nach dem Online-suchen und Dokumentation! Wenn Sie Ihr Beispiel ausprobieren, scheint es, als würde es sich um eine "Redirect 301" handeln, meine Absicht war es, den Kategorie-Ordner-Namen ebenfalls zu verbergen. Die meisten Online-Beispiele zeigen, wie man das für eine einzelne Website macht, aber nicht so viel, wie ich sagen kann. – gcs

+0

Beispiel: ------ RewriteCond% {REQUEST_URI}!/Category1/---------- RewriteRule^(. *) $ Category1/$ 1 [L] – gcs

+0

Haben Sie noch andere 'Redirects "an Ort und Stelle? Das Beispiel sollte nicht umgeleitet werden. – clmarquart

Verwandte Themen