ubuntuusers.de

Apache-Mod_Rewrite nicht erkannt - Probleme mit Oxid eShop

Status: Ungelöst | Ubuntu-Version: Ubuntu 13.04 (Raring Ringtail)
Antworten |

Kurdder

Anmeldungsdatum:
12. April 2009

Beiträge: 85

Wohnort: P-Town (RLP)

Hallo meine Freunde,

seit zwei Tagen hänge ich daran, den Oxid eShop (Community Edition) zu installieren. Hauptproblem: Das mod_rewrite Modul wurde nicht erkannt. Dabei ist das Modul geladen laut phpinfo().

Vermutlich ist das Modul doch nicht richtig eingebunden?

Wenn ich den Vorgaben aus dem Ubuntuuserswiki folge, und eine Regel definiere bringt er zwar keine Fehler beim Laden, aber beim klicken auf einen Link kommt "Not Found" Die in .htacces definierte Regel lautet:

1
RewriteRule ([^/]*).html$rewrite.php?link=$1[L]

(Quelle: http://www.webune.com/tutorials/mod_rewrite/rewrite.php)

Die rewrite.php sieht wie folgt aus:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<h2 align=center>
<?php
// mod_rewrite Test Page
// Copyright 2006 Webune.com
if($_GET['link']==1){echo"You are not using mod_rewrite";}
elseif($_GET['link']==2){
	echo"Congratulations!! You are using Apache mod_rewrite";
}
else{
	echo"Linux Apache mod_rewrte Test Tutorial";
}
?>
</h2>

<hr>

<head>
<title>How To Test mod_rewrite in Apache Linux Server</title>
</head>

<body>
<p align="center">by <a href="http://www.webune.com">Webune</a></p>
<p><a href="rewrite.php?link=1">LINK1</a> = rewrite.php?link=1</p>
<p><a href="link.html">LINK2</a> = link2.html</p>
<p>How this works: both links are for this same page, except they both are different. link one is without the mod_rewrite and link2 is using mod_rewrite. Link1 show the php file, with with mod_rewrite we are mascarading the php file into a html file. you can use whatever type of extension you want, you can change it to .htm or .shtml etc... all you have to do is to make sure you also chang it in the .htaccess file</p>
<p>&lt;&lt; <a href="http://www.webune.com/forums/viewtopic-p-62.html">Go back to webune forums.</a></p>
</body>
</html>

Evtl. weiß ja jemand, woran es liegt. Vermutlich ein typisch Fehler, der auf mangelndes Basiswissen zurückzuführen ist 😉

Über eure Hilfe/Hinweise würde ich mich freuen.

MfG Kurdder

Achja: Es läuft der Apache 2.2.22 Build vom 15. Juli 2013 und PHP 5.4.9 in der aktuellsten Version. Sind weitere angaben von nöten?

xabbuh Team-Icon

Anmeldungsdatum:
25. Mai 2006

Beiträge: 6411

Kurdder schrieb:

Wenn ich den Vorgaben aus dem Ubuntuuserswiki folge, und eine Regel definiere bringt er zwar keine Fehler beim Laden, aber beim klicken auf einen Link kommt "Not Found"

Bekommst Du die Fehlermeldung bei beiden Links?

Die in .htacces definierte Regel lautet:

1
RewriteRule ([^/]*).html$rewrite.php?link=$1[L]

(Quelle: http://www.webune.com/tutorials/mod_rewrite/rewrite.php)

Exakt so? Ohne Leerzeichen?

Isegrim

Avatar von Isegrim

Anmeldungsdatum:
29. Dezember 2006

Beiträge: 535

Hallo,

ein altbekanntes Problem, das aber eigentlich schon behoben sein sollte.

Als ich seinerzeit auf das Problem gestoßen bin, habe ich das mit der Location gelöst wie da steht: http://forum.oxid-esales.com/showthread.php?t=1262&page=3

Viele Grüße

Kurdder

(Themenstarter)

Anmeldungsdatum:
12. April 2009

Beiträge: 85

Wohnort: P-Town (RLP)

Isegrim schrieb:

Hallo,

ein altbekanntes Problem, das aber eigentlich schon behoben sein sollte.

Als ich seinerzeit auf das Problem gestoßen bin, habe ich das mit der Location gelöst wie da steht: http://forum.oxid-esales.com/showthread.php?t=1262&page=3

Viele Grüße

Den Beitrag hatte ich auch gefunden, aber das Problem ist, dass das Modul ja scheinbar nicht richtig aktiviert ist? Wenn ich vom Code die Parts auskommentiere, geht das auch soweit. Aber dürfte ja nicht Sinn & Zweck sein :/?

xabbuh schrieb:

Kurdder schrieb:

Wenn ich den Vorgaben aus dem Ubuntuuserswiki folge, und eine Regel definiere bringt er zwar keine Fehler beim Laden, aber beim klicken auf einen Link kommt "Not Found"

Bekommst Du die Fehlermeldung bei beiden Links?

Nein, nur bei Link 2. Link 1 verweist ja direkt auf die PHP-Datei, die ich aufrufe 😉

Die in .htacces definierte Regel lautet:

1
RewriteRule ([^/]*).html$rewrite.php?link=$1[L]

(Quelle: http://www.webune.com/tutorials/mod_rewrite/rewrite.php)

Exakt so? Ohne Leerzeichen?

Ja, weil ich aus Frust einfach sinnlos alles ausprobiert habe. Aber auch mit orignaler Vorgabe wird die URL nicht manipuliert.

Hier meine aktuelle Apache 000-default Datei:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride FileInfo
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Und die aktuelle .htaccess-Datei:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  
  RewriteEngine On
  RewriteRule link([^/]*).html$ rewrite.php?link=$1 [L]

  # Adaptive-Images -----------------------------------------------------------------------------------

  # Add any directories you wish to omit from the Adaptive-Images process on a new line, as follows:
  # RewriteCond %{REQUEST_URI} !ignore-this-directory
  # RewriteCond %{REQUEST_URI} !and-ignore-this-directory-too
  
  RewriteCond %{REQUEST_URI} !assets

  # don't apply the AI behaviour to images inside AI's cache folder:
  RewriteCond %{REQUEST_URI} !ai-cache
    
  # Send any GIF, JPG, or PNG request that IS NOT stored inside one of the above directories
  # to adaptive-images.php so we can select appropriately sized versions
  
  RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php

  # END Adaptive-Images -------------------------------------------------------------------------------
</IfModule>

Edit: Noch ein Problem: Der Shop ist auch nicht mehr erreichbar, wenn ich "AllowOverride FileInfo" in der 000-default Datei stehen habe. Die in /var/www/ normal abgelegte Website allerdings schon?!

xabbuh Team-Icon

Anmeldungsdatum:
25. Mai 2006

Beiträge: 6411

In welchem Verzeichnis liegt die htaccess Datei?

Kurdder

(Themenstarter)

Anmeldungsdatum:
12. April 2009

Beiträge: 85

Wohnort: P-Town (RLP)

xabbuh schrieb:

In welchem Verzeichnis liegt die htaccess Datei?

/var/www/

Noch ne Info: Der Web- bzw SQL-Server läuft in einer virtuellen Umgebung und der Webordner auf dem Hostsystem. Hab ihn dann mittels "mount -t vboxsf" auch korrekt eingebunden. Sprich im Gastsystem wird er auch angezeigt und Zugriff besteht auch. Dürfte also nicht das Problem sein?

Kurdder

(Themenstarter)

Anmeldungsdatum:
12. April 2009

Beiträge: 85

Wohnort: P-Town (RLP)

Hier mal die Rechte aufgelistet:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
virtual24-VirtualBox / # ls -l /var/www/oxidshop/
total 58791
drwxrwxrwx 1 root root        0 Aug 22 14:01 admin
drwxrwxrwx 1 root root     4096 Aug 22 14:01 application
drwxrwxrwx 1 root root        0 Aug 22 14:01 bin
-rwxrwxrwx 1 root root     1825 Jun 13 10:25 bootstrap.php
-r-xr-xr-x 1 root root     7982 Aug 27 14:27 config.inc.php
-rwxrwxrwx 1 root root    35821 Jun 13 10:25 COPYING
drwxrwxrwx 1 root root    16384 Aug 22 14:02 core
drwxrwxrwx 1 root root        0 Aug 22 14:02 export
-rwxrwxrwx 1 root root     1150 Jun 13 10:25 favicon.ico
-rwxrwxrwx 1 root root     1777 Jun 13 10:25 getimg.php
-rwxrwxrwx 1 root root     1013 Jun 13 10:25 index.php
drwxrwxrwx 1 root root        0 Aug 22 14:01 log
drwxrwxrwx 1 root root        0 Aug 22 14:01 modules
-rwxrwxrwx 1 root root       66 Jun 13 10:25 offline.html
drwxrwxrwx 1 root root        0 Aug 22 14:01 out
-rwxrwxrwx 1 root root 60097400 Aug 22 11:44 OXID_ESHOP_CE_4.7.6_70476.zip
-rwxrwxrwx 1 root root     1331 Jun 13 10:25 oxseo.php
-rwxrwxrwx 1 root root      180 Jun 13 10:25 pkg.info
-rwxrwxrwx 1 root root       40 Jun 13 10:25 pkg.rev
-rwxrwxrwx 1 root root     1078 Jun 13 10:25 README
-rwxrwxrwx 1 root root     1814 Jun 13 10:25 robots.txt
drwxrwxrwx 1 root root        0 Aug 27 14:27 setup
drwxrwxrwx 1 root root    24576 Aug 27 16:04 tmp
-rwxrwxrwx 1 root root     1088 Jun 13 10:25 widget.php
-rwxrwxrwx 1 root root      297 Jun 13 10:25 xd_receiver.htm

Jedoch kann ich mit dem normalen Benutzer jederzeit im Ordner Schreiben/Lesen. Daher bin ich gerade etwas irritiert, was die Rechte angeht

Antworten |