Apache Direktiven RewriteEngine

BJGTomcom

New Member
Hallo,

ich möchte gern mit dem Zend Framework ein MVC Web erstellen, jedoch habe ich Probleme mit den Apache Direktiven.
Wenn ich hier
Code:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php [L]
</IfModule>
eintrage, bekomme ich beim Aufruf immer ein "400 Bad Request error".
Was mach ich denn falsch.

Danke im vorraus.
Oliver
 

Till

Administrator
Wo genau hast Du das eingetragen? In einer .htaccess datei oder im apache Direktiven Feld des Webs? Gibt es eine detilliertere Fehlermeldung im error.log der Webseite?
 

BJGTomcom

New Member
Ich habe es in dem apache Direktiven Feld des Webs eingetragen.

Leider ist die error.log noch nicht aktuell, oder gibt es eine Möglichkeit diese zu aktualisieren
Danke Oliver
 
Zuletzt bearbeitet:

vzcrsa

New Member
gleiches problem mod_rewrite

meine htaccess sieht so aus:
Options -MultiViews

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteRule ^articles/{0,1}$ articles.php [QSA,L]
RewriteRule ^articles/entry/([^/.]+)/{0,1}$ articles.php?action=viewarticle&articleUri=$1 [QSA,L]
RewriteRule ^articles/entry/{0,1}$ articles.php?action=viewarticle&articleUri=$1 [QSA,L]
RewriteRule ^articles/category/([^/.]+)/{0,1}$ articles.php?action=viewcategory&articleCatUri=$1 [QSA,L]

RewriteRule ^news/{0,1}$ news.php [QSA,L]
RewriteRule ^news/([^/.]+)/{0,1}$ news.php?newsUri=$1 [QSA,L]

RewriteRule ^blogs/{0,1}$ blogs.php [QSA,L]
RewriteRule ^blogs/all/([0-9]+)/([0-9]+)/{0,1}$ blogs.php?page=$2&per_page=$1 [QSA,L]
RewriteRule ^blogs/top/{0,1}$ blogs.php?action=top_blogs [QSA,L]
RewriteRule ^blogs/top/([0-9]+)/([0-9]+)/{0,1}$ blogs.php?action=top_blogs&page=$2&per_page=$1 [QSA,L]
RewriteRule ^blogs/top_posts/{0,1}$ blogs.php?action=top_posts [QSA,L]
RewriteRule ^blogs/tag/([^/.]+)/{0,1}$ blogs.php?action=search_by_tag&tagKey=$1 [QSA,L]
RewriteRule ^blogs/tag/{0,1}$ blogs.php?action=search_by_tag&tagKey= [QSA,L]
RewriteRule ^blogs/posts/([^/.]+)/tag/([^/.]+)/{0,1}$ blogs.php?action=search_by_tag&tagKey=$2&ownerName=$1 [QSA,L]
RewriteRule ^blogs/posts/([^/.]+)/category/([^/.]+)/{0,1}$ blogs.php?action=show_member_blog&ownerName=$1&categoryUri=$2 [QSA,L]
RewriteRule ^blogs/entry/([^/.]+)/{0,1}$ blogs.php?action=show_member_post&postUri=$1 [QSA,L]
RewriteRule ^blogs/entry/{0,1}$ blogs.php?action=show_member_post&postUri= [QSA,L]
RewriteRule ^blogs/posts/([^/.]+)/{0,1}$ blogs.php?action=show_member_blog&ownerName=$1 [QSA,L]
RewriteRule ^blogs/posts/{0,1}$ blogs.php?action=show_member_blog&ownerName= [QSA,L]
RewriteRule ^blogs/posts/([^/.]+)/([0-9]+)/([0-9]+)/{0,1}$ blogs.php?action=show_member_blog&ownerName=$1&page=$3&per_page=$2 [QSA,L]
RewriteRule ^blogs/posts/([^/.]+)/category/([^/.]+)/([0-9]+)/([0-9]+)/{0,1}$ blogs.php?action=show_member_blog&ownerName=$1&categoryUri=$2&page=$4&per_page=$3 [QSA,L]

RewriteRule ^events/{0,1}$ events.php?show_events=all&action=show [QSA,L]
RewriteRule ^events/all/([0-9]+)/([0-9]+)/{0,1}$ events.php?show_events=all&action=show&page=$2&per_page=$1 [QSA,L]
RewriteRule ^events/part/{0,1}$ events.php?show_events=all&action=show [QSA,L]
RewriteRule ^events/search/{0,1}$ events.php?action=search [QSA,L]
RewriteRule ^events/search/([^/.]+)/{0,1}$ events.php?action=search_by_tag&tagKey=$1 [QSA,L]
RewriteRule ^events/my/{0,1}$ events.php?action=show&show_events=my [QSA,L]
RewriteRule ^events/new/{0,1}$ events.php?action=new [QSA,L]
RewriteRule ^events/entry/([^/.]+)/{0,1}$ events.php?action=show_info&eventUri=$1 [QSA,L]
RewriteRule ^events/part/([^/.]+)/{0,1}$ events.php?action=show_part&eventUri=$1 [QSA,L]


so und in der ISPConfig Apache directives: habe ich folgendes stehen
<Directory "/srv/www/web1/web">
Options +FollowSymLinks +SymLinksIfOwnerMatch
<IfModule mod_access.c>
Allow from all
</IfModule>
</Directory>

aber es funktioniert nicht !!

wer kann mir hier weiterhelfen ??
 

Till

Administrator
@vzcrsa: Welche Fehlermeldung erhältst Du im error Log der Wesbeiet bzw. was ganeu geht nicht.
 

Till

Administrator
Im error.log der Webseite muss eine aussagekräftigere Fehlermeldung stehen, sieh bitte dort nach und poste sie.
 

vzcrsa

New Member
also das steht bei mir drin !!
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@xxxxxxxxxxx.de and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at xxxxxxxxxxxx.de Port 80

und in der error.log steht:
[Wed Aug 06 09:49:34 2008] [alert] [client 2xx.xx.xxx.xx] /var/clients/client0/web13/web/.htaccess: Option MultiViews not allowed here

dazu noch eine frage lassen sich die direktiven nicht in einer template.datei anlegen so das ich mod_rewrite gleich für jeden user / domain , automatisch anlegen kann ???!!! wäre doch hier mal ne IDEE
 
Zuletzt bearbeitet:

Till

Administrator
[Wed Aug 06 09:49:34 2008] [alert] [client 2xx.xx.xxx.xx] /var/clients/client0/web13/web/.htaccess: Option MultiViews not allowed here
Ok, wie die Fehlermeldung besagt, Du versuchst die Option Multiviews in einer .htaccess datei zu setzen, das ist aber nicht erlaubt. Um es zu erlauben, füge:

MultiViews

zur AllowOverride Zeile:

AllowOverride Indexes AuthConfig Limit FileInfo

in der apache2.conf bzw. httpd.conf Datei im Bereich für das Directory /var/www/*/web hinzu und starte apache neu.
 

vzcrsa

New Member
jetzt bekomme ich den fehler !

[Wed Aug 06 12:46:39 2008] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 

vzcrsa

New Member
im Admin Panel / bereich

[FONT=Verdana, Arial, Helvetica, sans-serif]Web-Server:[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]Offline[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]FTP-Server:[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]Online[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]SMTP-Server:[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]Online[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]POP3-Server:[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]Online[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]DNS-Server:[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]Online[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]mySQL-Server:[/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif]Online

das ist doch vom apache2 und wenn der nicht startet kann es ja schon von gruand auf nicht gehen
[/FONT]
 

vzcrsa

New Member
tcp6 0 0 *:www *:* LISTEN 14087/apache2
tcp6 0 0 vadmin13:www pD95DFD03.dip.t-di:3888 TIME_WAIT -
tcp6 0 0 vadmin13:www pD95DFD03.dip.t-di:3896 TIME_WAIT -
tcp6 0 0 vadmin13:www pD95DFD03.dip.t-di:3887 TIME_WAIT -
tcp6 0 0 vadmin13:www pD95DFD03.dip.t-di:3886 TIME_WAIT -
 

vzcrsa

New Member
so apache läuft wieder : jetzt kommt das nächste EROR 404 obwohl die datein vorhanden sind ! ???????
 
Zuletzt bearbeitet:

vzcrsa

New Member
Wie kann ich es einrichten das für alle NEUEN user und bestehenden mod_rewrite direkt aktiv ist ??? bzw. für den ganzen server ???????
 

Werbung

Top