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

Anpassung htaccess

Frage Entwicklung Webentwicklung

Mitglied: KlausInge

KlausInge (Level 1) - Jetzt verbinden

23.01.2014 um 20:15 Uhr, 2260 Aufrufe, 10 Kommentare

Hallo, ich habe hier eine htaccess Datei. Diese sorgt dafür, das die domain www.abc.de/xyz angezeigt wird aber intern index.php?plugin=xyz geladen wird.

Nun habe ich den Unterorder bilder, welcher direkt aufrufbar sein soll. also www.abc.de/bilder soll er nicht die index.php aufrufen sondern ganz normal den Ordner Bilder aufrufen. Hat jemand einen Tipp für mich. Habe nun schon eine Weile gegooglet aber nichts gefunden was funktioniert. Danke

htaccess Datei:

<IfModule mod_rewrite.c>
Options +FollowSymlinks
#RewriteBase /
RewriteEngine On
RewriteRule ^\.htaccess$ - [F]


RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .*robots.txt$ robots.txt [L]

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .*favicon\.ico$ favicon.ico [L]



RewriteRule index.php$ index.php [QSA,L]
RewriteRule ^([^\.]+)/([^\.]+)/([^\.]+)/([^\.]+)/ index.php?plugin=$1&action=$2&para1=$3&para2=$4 [L]
RewriteRule ^([^\.]+)/([^\.]+)/([^\.]+)/([^\.]+) index.php?plugin=$1&action=$2&para1=$3&para2=$4 [L]
RewriteRule ^([^\.]+)/([^\.]+)/([^\.]+)/ index.php?plugin=$1&action=$2&para1=$3 [L]
RewriteRule ^([^\.]+)/([^\.]+)/([^\.]+) index.php?plugin=$1&action=$2&para1=$3 [L]
RewriteRule ^([^\.]+)/([^\.]+)/ index.php?plugin=$1&action=$2 [L]
RewriteRule ^([^\.]+)/([^\.]+) index.php?plugin=$1&action=$2 [L]
RewriteRule ^([^\.]+)/ index.php?plugin=$1 [L]
RewriteRule ^([^\.]+) index.php?plugin=$1 [L]
</IfModule>

Mitglied: colinardo
23.01.2014, aktualisiert um 20:51 Uhr
Hallo KlausInge,
das zwischen die favicon-Rule und den index.php-Rules eingefügt sollte funktionieren
RewriteRule ^bilder/?$ /bilder [L,NC]
Grüße Uwe
Bitte warten ..
Mitglied: KlausInge
23.01.2014 um 20:50 Uhr
Hallo Uwe, danke für die schnelle Reaktion. Habe dies entsprechend eingefügt.

Rufe ich nun im Browser abc.de/bilder auf dann wird dies umgewandelt in www.abc.de/bilder/?plugin=bilder

Hast Du noch eine Info für mich wo der Fehler liegen könnte?
Danke

KlausInge
Bitte warten ..
Mitglied: colinardo
23.01.2014, aktualisiert um 21:44 Uhr
probier es mal hiermit:

-entfernt / war misst bzw. funktioniert nicht auf jedem System ohne Anpassung-

siehe Arano's Lösung...
Bitte warten ..
Mitglied: KlausInge
23.01.2014 um 21:21 Uhr
Danke nochmal Uwe, da kommt nun ein Umleitungsfehler "Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann."

KlausInge
Bitte warten ..
Mitglied: Arano
23.01.2014 um 21:27 Uhr
Hi KlausInge

Ich habe da was ähnliches !
Bei mir möchte ich die Direktzugriffe auf die Verzeichnisse "admin" und "extras" erlauben.
Dazu verwende ich die RewriteCond um die "normalen" RewriteRules nur anzuwenden wenn die aufgerufene URL eben NICHT mit diesen beiden "Wörtern" beginnen:
01.
RewriteCond %{REQUEST_URI} !^/(admin|extras) 
02.
RewriteRule ^(.+)\.html$   /index.php?s=$1 
03.
RewriteRule ^$             /index.php?s=index
So sollte (müsste) vor deinen Rules ein
01.
RewriteCond %{REQUEST_URI} !^/bilder
doch auch funktionieren.


~Arano
Bitte warten ..
Mitglied: KlausInge
23.01.2014 um 21:46 Uhr
Hallo Arano, Dir auch ein großes Danke für Dein Kommentar. Leider bringt mich dies auch nicht zum Erfolg.

Klaus
Bitte warten ..
Mitglied: colinardo
24.01.2014 um 09:38 Uhr
Zitat von KlausInge:

Hallo Arano, Dir auch ein großes Danke für Dein Kommentar. Leider bringt mich dies auch nicht zum Erfolg.
Also hier geht das von Arano problemlos, hast du mal deinen Browser-Cache gelöscht ?
Bitte warten ..
Mitglied: Arano
24.01.2014 um 11:02 Uhr
Hi,

bin natürlich gerade auf der Arbeit daher mal nur einen Link.
Wenn du Zugriff auf die Apache-Config hast, kannst du ja mal das RewriteLogging aktivieren. Vielleicht kommt man damit auf die Spur des Problems.
http://stackoverflow.com/questions/9632852/how-to-debug-apache-mod-rewr ...
Ich selbst habe das erst ejnmal gemacht, kenne mich damit also auch nicht aus.
Ab Version 2.4 hat man das wihl mal umgebaut, steht aber auch in dem Post.
Kann man ja mal ausprobieren.

Viel Erfolg,
bis Später
~Arano
Bitte warten ..
Mitglied: Arano
24.01.2014 um 17:42 Uhr
Hi

Hm... hast du es mittlerweile auch mal ohne die folgende erste Rule versucht !?
01.
RewriteRule index.php$ index.php [QSA,L] 
02.
RewriteRule ^([^\.]+)/([^\.]+)/([^\.]+)/([^\.]+)/ index.php?plugin=$1&action=$2&para1=$3&para2=$4 [L] 
03.
[...]
Gut möglich das ich den Sinn nicht erkenne aber momentan sieht mir das
  • überflüssig und
  • "doppelt gemoppelt" aus
Der direkte Zugriff auf die "index.php"-Datei sollte doch so funktionieren, zumindest sehe ich gerade keine andere Rule die darauf ansprechen würde !
Und wenn es zu einem treffendem Aufruf kommt (z.B. domain.de/gaestebuch/seite/3) wird das ja auch auf die "index.php"-Datei umgelengt (domain.de/index.php?plugin=geastebuch&action=seite&para1=3), da die URL nun auf diese Rule passt wird sie ggf. erneut umgeleitet.
Oder wird genau dieses doppel gemoppel von [L] geblockt !?

Naja, egal ob [L] das nun tut oder nicht... nötig ist es dennoch nicht ODER ?
Und vielleicht ist das auch ein Problem.

Ich gehe mal ausprobieren...


~Arano
Bitte warten ..
Mitglied: Arano
24.01.2014 um 18:39 Uhr
So... da bin ich wieder !
Und schlauer bin ich jetzt auch

Zu meiner eigenen Lösung:
Eine RewriteCond ist NUR FÜR EINE RewriteRule !
Mann kann zwar mehrere Conditions verwenden [OR] [AND] aber die nur eine Rule anwenden.
Meine Lösung ist also falsch und hat nur den Anschein als ob sie funktionieren würde. Wie gesagt, ich habe das selber so in Verwendung.
Ein Problem erzeugt es bei mit nicht wie meine zweite Rule sich darauf bezieht das keine URL angegeben wurde was automatisch dem Sinn der Condition entspricht. Ich sollte meine zweite Rule also auch an eine andere Stelle kopieren können und es würde trotzdem funktionieren - weil es nichts mit der Condition zu tun hat.

Und wie hilft man dir jetzt: Ich habe zwei Vorschläge !
Nr.2 wird favorisiert
1.
Du baust die Condition so um, das sie auf URL die mit "bilder" beginnen anspringt und die folgende Rule einfach nur eine allgemeine Weiterleitung macht, etwa:
01.
RewriteCond %{REQUEST_URI} ^bilder<br> 
02.
RewriteRule    .*    $1    [L]
Da diese allg. Weiterleitung durch die Condition auf den Bilderordner begrenzt ist (sofern keine Plugins mit diesem Wort beginnen) sollte das entsprechend nur auf die Bilderaufrufe angewendet werden.
2.
Du baust deine "index.php"-Datei um.
Weil ja eh alles auf die "index.php"-Datei umgeleitet wird, kannst du auch in ihr die URL analysieren. Das ist auch das was ich gemacht habe und der Grund warum ich mit solch einer simplen Rule auskomme und du dir je nach Anwendungsfall(Plugin) neue Rules basteln muss - die den vorherigen auch noch sehr ähnlich sind.

Ich habe mir dazu eine "UrlAnalyser" programmiert (naja, zumindest angefangen) der in der "index.php"-Datei aufgerufen wird und die URL nach einem gewünschtem Muster in Einzelteile zerlegt und einfach ein Array $urlreq bereitstellt, das die einzelnen Werte beinhaltet.
So könnte dann jedes Plugin die Werte aus dem Array lesen und verarbeiten - völlig eigenständig ohne das die Rules oder sonst was angepasst werden müssen.
Also im Prinzip ein
01.
<?php 
02.
  $urlreq = explode( '/', $_SERVER['REQUEST_URI'] ); 
03.
?>
Nur etwas verfeinert das die Dateierweiterung weggelassen wird, das ich Key und Value paare bilden kann (Trenner= "_" und "-") und das ich Werte zu einer URL zusammensetzen lassen kann: domain.de/gaestebuch/seite-3_key2-value2_k3-v3.html um auch die richtigen Links zu generieren.

Das ist zwar keine direkte Lösung für das Problem, aber vielleicht trotzdem besser - vorallem wenn man sich dann nicht mehr mit den Rules herumschlagen muss


~Arano
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
RedHat, CentOS, Fedora
gelöst Erstellen von Desktopverknüpfungen und Anpassung der Taskleiste (2)

Frage von honeybee zum Thema RedHat, CentOS, Fedora ...

Webentwicklung
Redirect - Ausnahme definieren in Htaccess (3)

Frage von dodo-r zum Thema Webentwicklung ...

Hosting & Housing
gelöst Weiterleitung Redirect Htaccess - Ausnahme (8)

Frage von dodo-r zum Thema Hosting & Housing ...

Windows Netzwerk
Windows Server 2012 R2: Anpassung des Intervalls für ARP Wiederholungen (6)

Frage von Michael12 zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...