Apache Direktiven RewriteEngine

#1
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
#2
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?
 
#3
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:
#5
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 ??
 
#9
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
#10
[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.
 
#11
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
 
#15
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]
 
#17
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 -
 
#20
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