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, 2287 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 ..
Ähnliche Inhalte
Webentwicklung
Htaccess Inhalt kombinieren (Umschreibung www + https) (5)

Frage von dodo-r zum Thema Webentwicklung ...

Windows Installation
Best Practice zur Anpassung der W10 Installation (3)

Frage von MartinAD zum Thema Windows Installation ...

Apache Server
gelöst htaccess Weiterleitung (4)

Frage von schneerunzel zum Thema Apache Server ...

Vmware
VCenter - Anpassung der Struktur (8)

Frage von Ghost108 zum Thema Vmware ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

LAN, WAN, Wireless
Rogue Access Point (20)

Frage von Axel90 zum Thema LAN, WAN, Wireless ...

Webbrowser
Windows 7 unbeliebte Internetseite sperren (13)

Frage von Daoudi1973 zum Thema Webbrowser ...

E-Mail
Fake E-Mail in Outlook für Demonstartionszwecke (12)

Frage von sascha382 zum Thema E-Mail ...