mod_rewrite problem
mod_rewrite problem
kennt sich irgend jemand mit mod_rewrite aus ?
irgendwie funktioniert es bei mir nur immer bis zu einen gewissen grad...
ein paar allgemeine fragen dazu...
1. die mod_rewrite rules kann man die zb nur für ein verzeichniss vergeben ?
sagen wir mal die sollen nur gelten für das verzeichnis http://localhost/directory/
wobei ich jedoch noch die .htaccess direkt in dem /directory/ ablegen möchte.
2. irgendwie möchte ich alle anfragen die innerhalb eines verzeichnisses kommen auf /directory/index.php (ohne variablen übergabe) umleiten...
bei mir stürzt immer der apache server ab wenn ich das versuche...
hier die problematik bzw die aufgaben stellung:
innerhalb des verzeichnisses sollen alle anfragen auf *content.php auf index.php umgeleitet werden... (wie muss die rewriterule aussehen ?)
die links sehen ca so aus (index_1-file_any.txt-debug_on-content.php)
die anzahl der einzelnen blöcke variert von 1-10 (1 block = index_1) trennzeichen (-)
alle anderen urls sollen normal aufgerufen werden zb (/directory/print.php) soll ohne rewrite aufgerufen werden.
mit diesem tip wäre mir immens geholfen... (ich teste gerade ein neues script für nen kunden) und dies ist der einzige scheiss mit dem ich nicht zusammenkomme...
irgendwie funktioniert es bei mir nur immer bis zu einen gewissen grad...
ein paar allgemeine fragen dazu...
1. die mod_rewrite rules kann man die zb nur für ein verzeichniss vergeben ?
sagen wir mal die sollen nur gelten für das verzeichnis http://localhost/directory/
wobei ich jedoch noch die .htaccess direkt in dem /directory/ ablegen möchte.
2. irgendwie möchte ich alle anfragen die innerhalb eines verzeichnisses kommen auf /directory/index.php (ohne variablen übergabe) umleiten...
bei mir stürzt immer der apache server ab wenn ich das versuche...
hier die problematik bzw die aufgaben stellung:
innerhalb des verzeichnisses sollen alle anfragen auf *content.php auf index.php umgeleitet werden... (wie muss die rewriterule aussehen ?)
die links sehen ca so aus (index_1-file_any.txt-debug_on-content.php)
die anzahl der einzelnen blöcke variert von 1-10 (1 block = index_1) trennzeichen (-)
alle anderen urls sollen normal aufgerufen werden zb (/directory/print.php) soll ohne rewrite aufgerufen werden.
mit diesem tip wäre mir immens geholfen... (ich teste gerade ein neues script für nen kunden) und dies ist der einzige scheiss mit dem ich nicht zusammenkomme...
Moin
Bin auch gerade an der Sache dran, nur weiss ich nicht wo und was ich umschreiben muss damit er mir die "anderen" Links anzeigt. Ich vermute das ich das in der Navigation machen muss. Habe Contenido 4.3.2..
Zu Mod_rewrite und .htaccess hab ich ne nette Seite gefunden vieleicht kann sie dir helfen
Gruß Alex
Bin auch gerade an der Sache dran, nur weiss ich nicht wo und was ich umschreiben muss damit er mir die "anderen" Links anzeigt. Ich vermute das ich das in der Navigation machen muss. Habe Contenido 4.3.2..
Zu Mod_rewrite und .htaccess hab ich ne nette Seite gefunden vieleicht kann sie dir helfen
Gruß Alex
einen grossteil dieser artikel habe ich schon gelesen(diesen einen vor 10 minuten) nur wie gesagt das einzige was mir noch fehlt ist die rewriterule für genau diesen fall...
meine rewriterule sieht momentan so aus
RewriteRule ^/directory/[a-zA-Z]+content.php /directory/index.php [PT]
nur führt dies zu einem systemabsturz der sich gewaschen hat...
das andere problem mit url rewrite on the fly innerhalb der anderen dateien ist das kleinere übel mit dem ich auch kein problem habe...
bei mir übernimmt die index.php die auswertung des urlstrings + sämtlich post variablen und querystrings... da läufts auch einwandfrei...
ich brauch nur mehr die umleitung auf die index.php alles andere müsste dann von selbst laufen (ein rewrite der posts hab ich zwar noch nicht aber das ist ein anderes problem)
meine rewriterule sieht momentan so aus
RewriteRule ^/directory/[a-zA-Z]+content.php /directory/index.php [PT]
nur führt dies zu einem systemabsturz der sich gewaschen hat...
das andere problem mit url rewrite on the fly innerhalb der anderen dateien ist das kleinere übel mit dem ich auch kein problem habe...
bei mir übernimmt die index.php die auswertung des urlstrings + sämtlich post variablen und querystrings... da läufts auch einwandfrei...
ich brauch nur mehr die umleitung auf die index.php alles andere müsste dann von selbst laufen (ein rewrite der posts hab ich zwar noch nicht aber das ist ein anderes problem)
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
wenn der Apache abstürzt, würd ich panisch durch die Gegend laufen!
Eventuell hilft das hier:
http://marc.theaimsgroup.com/?l=apache- ... 511791&w=2
Eventuell hilft das hier:
http://marc.theaimsgroup.com/?l=apache- ... 511791&w=2
@timo
das hatte ich mir auch schon gedacht -> error log schreibt bei mir
[Wed Nov 19 17:31:37 2003] [error] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting
aber das ist mir an sich noch egal wenn die rule stimmen würde hab ich dieses problem ja nicht mehr... (und der taskmanager schaft irgendwie den prozess zu beenden...
@Godspeed
zu .htaccess
in apache/conf/httpd.conf finden sich etwas was gegeben sein muß...
du findest dort
#
# Each directory to which Apache has access, can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# permissions.
#
# for mod_rewrite set AllowOverride to all
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
und wie ich dort selbst ergänzt habe ohne das All wird die .htaccess nicht ausgeführt... (dafür steht das AllowOverride) ob das der provider überhaupt frei gibt ist ne andere geschichte - auf meinem lokalen apache server kann ich aber machen was ich will...
für mod_rewrite muss natürlich auch das modul geladen werden (logisch)
meistens ist bei den server in der httpd.conf diese zeile auskommentiert
LoadModule rewrite_module modules/mod_rewrite.so
(bei Apache/1.3.27)
für die .htaccess muss am beginn der datei oder am ende (je nachdem was bereits vorkonfiguriert wurde) folgendes enthalten sein:
Options +FollowSymlinks
RewriteEngine On
sonst tut sich nämlich gar nichts mit den rules...
das hatte ich mir auch schon gedacht -> error log schreibt bei mir
[Wed Nov 19 17:31:37 2003] [error] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting
aber das ist mir an sich noch egal wenn die rule stimmen würde hab ich dieses problem ja nicht mehr... (und der taskmanager schaft irgendwie den prozess zu beenden...
@Godspeed
zu .htaccess
in apache/conf/httpd.conf finden sich etwas was gegeben sein muß...
du findest dort
#
# Each directory to which Apache has access, can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# permissions.
#
# for mod_rewrite set AllowOverride to all
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
und wie ich dort selbst ergänzt habe ohne das All wird die .htaccess nicht ausgeführt... (dafür steht das AllowOverride) ob das der provider überhaupt frei gibt ist ne andere geschichte - auf meinem lokalen apache server kann ich aber machen was ich will...
für mod_rewrite muss natürlich auch das modul geladen werden (logisch)
meistens ist bei den server in der httpd.conf diese zeile auskommentiert
LoadModule rewrite_module modules/mod_rewrite.so
(bei Apache/1.3.27)
für die .htaccess muss am beginn der datei oder am ende (je nachdem was bereits vorkonfiguriert wurde) folgendes enthalten sein:
Options +FollowSymlinks
RewriteEngine On
sonst tut sich nämlich gar nichts mit den rules...
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
http://httpd.apache.org/docs/mod/mod_re ... ewriteRule
da steht, daß man eine rewrite-rule auch in einem .htaccess-File verwenden darf
da steht, daß man eine rewrite-rule auch in einem .htaccess-File verwenden darf
das ist auch so gedacht (die beispiele beziehen sich auch darauf)
meine idee...
die .htaccess befindet sich in http://localhost/directory/
innerhalb der datei .htaccess sind die rewriterules definiert
die frage die sich mir nur stellt dürfen die rules nur innerhalb von
http://localhost/.htaccess stehen oder kann ich sie wie oben innerhalb von
http://localhost/directory/.htaccess ablegen ?
wobei sich im zweiten fall die rules nur auf das verzeichniss
http://localhost/directory/ beziehen dürfen...
meine idee...
die .htaccess befindet sich in http://localhost/directory/
innerhalb der datei .htaccess sind die rewriterules definiert
die frage die sich mir nur stellt dürfen die rules nur innerhalb von
http://localhost/.htaccess stehen oder kann ich sie wie oben innerhalb von
http://localhost/directory/.htaccess ablegen ?
wobei sich im zweiten fall die rules nur auf das verzeichniss
http://localhost/directory/ beziehen dürfen...
irgend jemand eine idee ? bidde 
[intern damit ich's nicht vergesse: http://www.abakus-internet-marketing.de ... html#14168 ]

[intern damit ich's nicht vergesse: http://www.abakus-internet-marketing.de ... html#14168 ]
ich hab es... jetzt brauch ich mindestens 1 bier... 
falls es jemanden intressiert .htaccess mit rewriterules funktioniert auch in unterverzeichnissen... ohne verzeichniss angabe
meine rewriterule
kein server absturz mehr...

falls es jemanden intressiert .htaccess mit rewriterules funktioniert auch in unterverzeichnissen... ohne verzeichniss angabe
meine rewriterule
Code: Alles auswählen
RewriteRule ^(.*)-content\.php index.php [PT]