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
Kommentar vom Moderator masterG am 11.12.2010 um 12:44:49 Uhr
Verschoben von PHP
GELÖST

Bedingte catch-all in .htaccess

Frage Entwicklung Webentwicklung

Mitglied: ChrisFah

ChrisFah (Level 1) - Jetzt verbinden

01.12.2010, aktualisiert 11.12.2010, 4097 Aufrufe, 5 Kommentare

suche eine Lösung für rewrite rules mit einer bedingten catch all möglichkeit

Hallo,

bin wieder mal em Ende meiner Weisheiten

Ich habe folgende .htaccess:
01.
RewriteEngine on  
02.
 
03.
RewriteRule ^(.*)suchergebnis/seite/([0-9]+)/(.*)$ /searchresult.php?showpage=$2&$3 [qsappend,L] 
04.
RewriteRule ^(.*)suchergebnis(.*)$ /searchresult.php?$2 [qsappend,L] 
05.
RewriteRule ^suche(.*)$ /search.php?$1 [qsappend,L] 
06.
RewriteRule ^detailsuche(.*)$ /search_detailed.php?$1 [qsappend,L] 
07.
... und einige mehr ... 
08.
RewriteRule ^(.*) catchall.php?$1 [qsappend,L]
Dazu kommen einige .php scripte, die ohne rewrite angesprochen werden.
Ohne die letzte (.*) catchall.php Zeile klappt alles perfekt. Mit dieser Zeile habe ich einer Server Error.

Was suche ich?
Es soll wie in der .htaccess rewriterules angegeben, diese Adressen umgeleitet werden, die .php dateien direkt ausgeführt werden, und alles was dann noch übrig bleibt, soll mit dieser rewriterule abgefangen werden - sozusagen eine selbstdefinierte Error404, wobei ich bewusst keine error404 funktion verwenden will.

Vielen Dank im voraus,
Lg, Chris
Mitglied: godlie
01.12.2010 um 08:43 Uhr
Hallo, was du suchst ist eine RewriteCond
Bitte warten ..
Mitglied: ChrisFah
01.12.2010 um 20:05 Uhr
Naja, da steh ich vor dem Problem, daß ich nicht weiss, wie ich die Bedingungen formulieren soll.
Letztendlich sollen alle Ausdrücke für diese catchall rule zutreffend sein, daher muss ich (.*) verwenden. Da werden jedoch die bereits zuvor umgeschriebenen auch erneut zwangsbeglückt.

Ich steh vor einem grossen ?.

Lg, Chris
Bitte warten ..
Mitglied: ChrisFah
01.12.2010 um 21:15 Uhr
Zur Erinnerung: Es sollen zuerst alle Urls lt RewriteRule umgeschrieben werden, was dann noch übrig bleibt und kein php file ist, wird mit der catch-all Bedingung bedient.

Habe es nun so gelöst:

01.
RewriteEngine on 
02.
 
03.
RewriteRule ^(.*)suchergebnis/seite/([0-9]+)/(.*)$ /searchresult.php?showpage=$2&$3 [qsappend,L] 
04.
RewriteRule ^(.*)suchergebnis(.*)$ /searchresult.php?$2 [qsappend,L] 
05.
RewriteRule ^suche(.*)$ /search.php?$1 [qsappend,L] 
06.
RewriteRule ^detailsuche(.*)$ /search_detailed.php?$1 [qsappend,L] 
07.
 
08.
# Catch all ausser .php files 
09.
RewriteCond %{REQUEST_URI} !(\.)  
10.
RewriteCond %{REQUEST_URI} !^/$  
11.
RewriteRule ^(.*)$  /test.php?os=$1 [L]
Seltsamerweise darf ich in der ersten RewriteCond NICHT
%{REQUEST_URI} !(\.php)
schreiben, da sonst die stylesheet.css nicht mehr verfügbar scheint. Weiss wer warum das so ist?

Lg, Chris
Bitte warten ..
Mitglied: dog
01.12.2010 um 21:49 Uhr
01.
#	Nächste Regel trifft nur zu, wenn die URL keine Datei ist oder nicht existiert 
02.
RewriteCond %{REQUEST_FILENAME} !-f 
03.
#	Nächste Regel trifft nur zu, wenn die URL kein Ordner oder nicht existiert 
04.
RewriteCond %{REQUEST_FILENAME} !-d
Bitte warten ..
Mitglied: ChrisFah
02.12.2010 um 10:03 Uhr
So klappt es auch prime.
Danke !
Bitte warten ..
Ähnliche Inhalte
Voice over IP
gelöst ALL-IP Anschluss Telekom VoiP MikroTik mit VLAN Konfiguration (11)

Frage von rogatec zum Thema Voice over IP ...

Webentwicklung
Htaccess Inhalt kombinieren (Umschreibung www + https) (5)

Frage von dodo-r zum Thema Webentwicklung ...

Visual Studio
Read all handler, removehandler, addhandler (3)

Frage von ahstax zum Thema Visual Studio ...

TK-Netze & Geräte
gelöst Telefonanlage für All-IP (6)

Frage von datario zum Thema TK-Netze & Geräte ...

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 ...