Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

RewriteRule für Webserver

Frage Linux

Mitglied: BigBaLu

BigBaLu (Level 1) - Jetzt verbinden

13.04.2011 um 14:56 Uhr, 4062 Aufrufe, 5 Kommentare

Ich möchte per .htaccess Datei eine RewriteRule erstellen. Leider klappt das bei mir nicht so wirklich...

Wenn ich folgendes eingebe:
https://testdomain.de/intra/principals

dann soll er mich auf folgendes umleiten bzw. es soll für folgendes stehen:
https://testdomain.de/intra/groupdav.php/principals

Wie kann ich das erreichen bzw. wie kann ich das so schreiben, ohne gleich das ganze Verzeichnis umzuschreiben.

Danke,
BaLu
Mitglied: gresser
13.04.2011 um 16:05 Uhr
Redirect /eingabe /ziel

Dies einfach in der .htaccess Datei im root Verzeichnis eintragen.

Bei diesem Beispiel würde dann http://domain.de/eingabe auf die http://domain.de/ziel weitergeleitet. Bzw. da die Domain nicht angeben ist in den Ordner ziel.

In deinem Beispiel brauchst du dann halt folgende Regel

Redirect /intra/principals /intra/groupdav.php/datei.php

oder falls du die .htaccess Datei nicht im root ablegst halt ohne das intra.
Bitte warten ..
Mitglied: J0j0
13.04.2011 um 17:34 Uhr
Schau mal hier:

RewriteEngine on 
RewriteRule ^alice.html$ bob.html 
 
Upload this .htaccess file to the same directory as alice.html and bob.html, and reload Alice’s page. You should see Bob’s page being displayed, but Alice’s URL. If you still see Alice’s page being displayed, then check you’ve followed the instructions correctly (you may have to clear your cache). If things still aren’t working for you, then contact your technical support people and ask them to enable mod_rewrite and the FileInfo override in their httpd.conf file for you
http://www.workingwith.me.uk/articles/scripting/mod_rewrite
Bitte warten ..
Mitglied: Florian.Sauber
13.04.2011 um 19:56 Uhr
Tag auch,

Zitat von gresser:
Redirect /intra/principals /intra/groupdav.php/datei.php

Wenn ich den TO richtig verstehe, soll ja ganz allgemein www.foo.com/intra/xyz/* nach www.foo.com/intra/groupday.php/xyz/* umgeleitet werden.

Also eher
01.
Redirect /intra/ /intra/groupdav.php/
oder sauberer
01.
Redirect /intra http://www.foo.com/intra/groupdav.php
VG Florian
Bitte warten ..
Mitglied: BigBaLu
14.04.2011 um 13:44 Uhr
Soweit war ich leider auch schon - das funktioniert eben nicht

principals gibt es als Ordner nicht... Wenn ich jetzt hinter dem / (https://www.foo.com/intra/principals) gehe, dann sollte er mich auf https://www.foo.com/intra/groupdav.php/principals weiterleiten... Und das geht so leider nicht
Bitte warten ..
Mitglied: Florian.Sauber
19.04.2011 um 01:24 Uhr
Moin Moin,

ich seh gerade: So kann es ja nicht gehen! Du willst ja in ein Unterverzeichnis weiterleiten. Das was ich oben geschrieben habe funktioniert nur auf ein/e andere/s Domain/Verzeichnis.

also bspw.
01.
Redirect /intra /etcetera/groupusw 
02.
oder 
03.
Redirect /intra http://extra.com/groudusw.
Wenn Du in ein Unterverzeichnis verweisen willst, wird es etwas "schwieriger", da man allzu gerne in eine (rekursive) Schleife gerät. In Deinem Fall dann eben
intra/intra/intra/intra/.../groupdav.

Ähnlich geht es, wenn Du über bspw.
01.
RewriteEngine on 
02.
RewriteRule ^/intra(.*) /intra/groupdav$1 [R]
einen Redirect in ein untergeordentes Verzeichnis veranlasst.
^/intra(.*) heiss dabei, dass $1 mit intraundalleswasdanachnochsogeschriebenwird ersetzt werden soll, also auch das intra in der Substitution /intra/groupusw...Also wieder eine Schleife
Abhilfe schafft da die Verkettung von 2 Regeln, bei der die erste abfragt, ob groupdav.php teil der URI ist und wenn nein, dann soll ersetzt werden.

Um das ganze etwas klarer zu gestalten legst Du am besten folgende .htaccess im Verzeichnis /intra an
01.
RewriteEngine On 
02.
RewriteRule !^groupdav.php - [C] 
03.
RewriteRule ^(.*) /intra/groupdav.php/$1 [L,R=301]
gibst Du jetzt bspw. foo.com/intra/xyz ein, wird zuerst geprüft, ob dieser Sring den String groupdav.php enthält. Da dies vor der ersten Substitution noch nicht der Fall ist, wird alles, was dem foo.com/intra/ folgt (.*), also hier xyz, in $1 geschrieben. Somit hast Du nach der ersten Substitution also foo.com/intra/groupdav.php/xyz. Da ab diesem Zeitpunkt der String groupdav.php enthalten ist, ist die Abfrage "ist nicht(!)groupdav.php" IMMER falsch, die 2. RewriteRule wird nicht mehr ausgeführt und es kommt auch zu keiner Schleifenbildung.
Der Parameter L ist zur Sicherheit, um die Regel gegenüber anderen abzuschliessen, der Parameter R(=301) sorgt für einen (permanenten) Redirect. Wenn Du R=301 weglässt, würdest Du in der Adressleiste foo.com/intra/abc stehen sehen, während auf foo.com/intra/groupdav.php/abc zugegriffen wird.

Hoffe das hilft Dir. Garantieren kann ich nämlich nicht dafür, dass es funktioniert, da ich davon ausgehe, dass .../groupdav.php/123 ja ursprünglich für .../groupdav.php?foobar=123... steht und Du bereits RewriteRules nutzt, die sich so in die Queere kommen könnten...

VG Florian
Bitte warten ..
Ähnliche Inhalte
Verschlüsselung & Zertifikate
SSL-Webserver-Wildcard-Zertifikate (5)

Frage von OlliPWS zum Thema Verschlüsselung & Zertifikate ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Update
gelöst MS: Update-Server-Adressen OHNE Wildcards (17)

Frage von mrserious73 zum Thema Windows Update ...

Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...