rewrite engine funktioniert nicht

Apache, Lighttpd, nginx, Cherokee
Post Reply
evilh
Posts: 126
Joined: 2004-03-25 17:45
Contact:
 

rewrite engine funktioniert nicht

Post by evilh »

sicher ne noob frage, aber ich habe mich bisher nicht mit mod_rewrite auseinandergesetzt und bekomme es nicht zum laufen.

mod_rewrite ist in den apachen (2.0.50) einkompiliert.
jetzt habe ich in die httpd.conf folgendes reingesetzt:


RewriteEngine on

RewriteCond %{HTTP_HOST} ^(.*).meineseite.de$
RewriteRule ^(.*)$ http://www.meineseite.de [R=301,L]

sprich alle subdomains sollen auf die hauptdomain verweisen.

leider tut sich aber nichts, und bei aufruf einer (nicht vorhandenen) subdomain bekomme ich das htaccess fenster von confixx

any tips ?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: rewrite engine funktioniert nicht

Post by Joe User »

Code: Select all

<VirtualHost _default_:80>
    DocumentRoot "/srv/www/htdocs"
    ServerName www.mydomain.tld
</VirtualHost>
<VirtualHost *:80>
    ServerName mydomain.tld
    ServerAlias *.mydomain.tld
    Redirect permanent / http://www.mydomain.tld/
</VirtualHost>
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
evilh
Posts: 126
Joined: 2004-03-25 17:45
Contact:
 

Re: rewrite engine funktioniert nicht

Post by evilh »

ja nee, das redirected mir ja alle zugriffe auf das rootdir.
somit würde ja nicht mal ein link funktionieren
remi
Posts: 21
Joined: 2005-05-21 23:34
Location: Paderborn
 

Re: rewrite engine funktioniert nicht

Post by remi »

Hallo,

versuch es mal damit (die RewriteCond kannst Du dann in Ruhe Deinen Bedürfnissen anpassen):

Code: Select all

RewriteEngine on
RewriteCond %{SERVER_NAME} (subdomain1.mydomain.tld|subdomain2.mydomain.tld)
RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R,L]
Gruß
Remi
evilh
Posts: 126
Joined: 2004-03-25 17:45
Contact:
 

Re: rewrite engine funktioniert nicht

Post by evilh »

leider ist das problem, daß bei mir gar keine rewrite rules funktionieren.
und ich habe keine ahnung warum... mod_rewrite ist wie gesagt einkompiliert
remi
Posts: 21
Joined: 2005-05-21 23:34
Location: Paderborn
 

Re: rewrite engine funktioniert nicht

Post by remi »

Dann hast Du vielleicht die Rewrite-Anweisungen in den falschen <Directory>-Abschnitt eingefügt.

Oder stehen die Rewrite-Anweisungen in einer .htaccess-Datei?
evilh
Posts: 126
Joined: 2004-03-25 17:45
Contact:
 

Re: rewrite engine funktioniert nicht

Post by evilh »

ich habe es einmal versucht, indem ich es in die httpd.conf direct reingeschrieben habe (ohne directory einzutragen, da es ja nur für diese domain gilt, und ich somit ja keinen directory container bräuchte).

des weiteren habe ich versucht es in den directory container des webs zu schreiben (wobei "rewriteEngine on" in der httpd.conf stand)

beides mal wurden die anweisungen einfach ignoriert
[gk]nichts
Posts: 21
Joined: 2004-08-28 05:27
 

Re: rewrite engine funktioniert nicht

Post by [gk]nichts »

bist du dir ganz sicher das das Modul auch geladen wird? Kannst ja unter /etc/apache2/sysconfig.d/loadmodule.conf nachsehen ob "LoadModule rewrite_module" dort eingetragen ist, wenn nicht wirds nicht geladen :) Das Problem hatte ich zB. bis gestern ;)

Gruß
evilh
Posts: 126
Joined: 2004-03-25 17:45
Contact:
 

Re: rewrite engine funktioniert nicht

Post by evilh »

die loadmodule.conf existiert bei mir gar nicht. ich hab den apachen damals selbst kompiliert. auch eine suche hat die datei nicht gefunden.

aber ein httpd2 -l gibt mir aus:

Code: Select all

Compiled in modules:
  core.c
  mod_access.c
  mod_auth.c
  mod_auth_anon.c
  mod_auth_dbm.c
  mod_auth_digest.c
  mod_ext_filter.c
  mod_include.c
  mod_log_config.c
  mod_log_forensic.c
  mod_env.c
  mod_mime_magic.c
  mod_cern_meta.c
  mod_expires.c
  mod_headers.c
  mod_usertrack.c
  mod_unique_id.c
  mod_setenvif.c
  mod_ssl.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_dav.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_info.c
  mod_suexec.c
  mod_cgi.c
  mod_dav_fs.c
  mod_vhost_alias.c
  mod_negotiation.c
  mod_dir.c
  mod_imap.c
  mod_actions.c
  mod_speling.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_so.c
somit muss mod_rewrite ja nicht mehr geladen werden
[gk]nichts
Posts: 21
Joined: 2004-08-28 05:27
 

Re: rewrite engine funktioniert nicht

Post by [gk]nichts »

naja warum einfach wenns auch kompliziert geht ;) Mir fällt gerade ein, dass die geladenen Module ja auch via

Code: Select all

phpinfo() 
ausgegeben werden können :)
remi
Posts: 21
Joined: 2005-05-21 23:34
Location: Paderborn
 

Re: rewrite engine funktioniert nicht

Post by remi »

Die Rewrite-Konfiguration wird nicht vererbt. Daher solltest Du
das "RewriteEngine on" in den zuständigen <Directory>- bzw.
<VirtualHost>-Abschnitt schreiben.

Der einfachste Funktionstest für mod_rewrite ist der folgende:

Code: Select all

<Directory /pfad/zu/htdocs/>
RewriteEngine on
RewriteRule ^test.htm$ /test/test2.php [R]
</Directory>
Ein Zugriff auf test.htm müsste dann umleiten nach /test/test.2php.

Falls das bei Dir nicht funktioniert, poste mal die Auszüge aus der httpd.conf.

Ã?brigens:
Falls PHP als CGI installiert ist, zeigt phpinfo() die Module nicht an.
[gk]nichts
Posts: 21
Joined: 2004-08-28 05:27
 

Re: rewrite engine funktioniert nicht

Post by [gk]nichts »

wieder was gelernt ;) aber was meinst du genau mit "wird nicht vererbt" ? Dachte wenn man die regeln in der httpd.conf setzt gilt es für alle vhosts? *etwas verwirrt guckt*
evilh
Posts: 126
Joined: 2004-03-25 17:45
Contact:
 

Re: rewrite engine funktioniert nicht

Post by evilh »

@remi:

wenn ich deine anweisung reinschreibe, dann bekomme ich beim aufruf der seite (für alle pfade)

einen "sie haben nicht die erforderlichen rechte um diese seite anzuzeigen"
logs steht gar nichts drin !?
remi
Posts: 21
Joined: 2005-05-21 23:34
Location: Paderborn
 

Re: rewrite engine funktioniert nicht

Post by remi »

Zumindest werden die Rewrite-Regeln nicht für VirtualHosts vererbt.
Note that, by default, rewrite configurations are not inherited. This means that you need to have a RewriteEngine on directive for each virtual host in which you wish to use it.
Quelle: mod_rewrite-Beschreibung
remi
Posts: 21
Joined: 2005-05-21 23:34
Location: Paderborn
 

Re: rewrite engine funktioniert nicht

Post by remi »

@evilh:
Auszug aus der httpd.conf?
evilh
Posts: 126
Joined: 2004-03-25 17:45
Contact:
 

Re: rewrite engine funktioniert nicht

Post by evilh »

@remi,
welche passage genau ?

ich habe eben ein RewriteEngine on in der httpd.conf stehen, und den von dir geposteten code in dem entsprechenden directory container (bei mir ausgelagert in "confixx_virtualhosts"
remi
Posts: 21
Joined: 2005-05-21 23:34
Location: Paderborn
 

Re: rewrite engine funktioniert nicht

Post by remi »

Scheint mir das gleiche Problem wie hier zu sein.
AllowOverride und Options muss korrekt gesetzt sein. Danach erstmal mit einer einfachen RewriteRule ausprobieren.

So müsste der <Directory>-Abschnitt in der confixx_vhost.conf aussehen:

Code: Select all

<Directory "/home/htdocs/web0/html"> 
  AllowOverride FileInfo 
  Options +FollowSymLinks 

  RewriteEngine on 
  RewriteRule ^test.htm$ /test/test2.php [R]

  # ...
</Directory>
Setze aber kein Confixx ein, daher kann ich es nicht testen.

Confixx soll diese Einstellungen wohl auch überschreiben. Gibt dort wohl eine Option, mit der Du die zusätzlichen Einstellungen über die Administrationsoberfläche von Confixx einstellen kannst.
Post Reply