3 Stimmen

Magento .htaccess Fehler in Godaddy shared hosting

Ich habe Magento in Godaddy Shared Hosting mit Apache mod_rewrite aktiviert, während der Installation von Magento installiert. Die Installation wurde abgeschlossen und die Homepage wurde gut geladen. Aber wenn ich versuche, auf andere Seiten zuzugreifen, bekomme ich auf jeder Seite "500 Internal Server Error", wenn ich mit www.myshop.com/admin oder www.myshop.com/sony-vaio-vgn-txn27n-b-11-1-notebook-pc.html zugreife.

Wenn ich jedoch auf www.myshop.com/index.php/admin und www.myshop.com/index.php/sony-vaio-vgn-txn27n-b-11-1-notebook-pc.html zugreife, funktioniert alles einwandfrei.

Der Godaddy-Support hat mir gesagt, dass sie Apache mod_rewrite auch im Shared Hosting aktiviert haben. Sie schlagen mir vor, dass es eine Fehlkonfiguration in .htaccess gibt. Kann mir jemand helfen? Ich poste die .htaccess hier.

############################################
## uncomment these lines for CGI mode
## make sure to specify the correct cgi php binary file name
## it might be /cgi-bin/php-cgi

#    Action php5-cgi /cgi-bin/php5-cgi
#    AddHandler php5-cgi .php

############################################
## GoDaddy specific options

   Options -MultiViews

## you might also need to add this line to php.ini
##     cgi.fix_pathinfo = 1
## if it still doesn't work, rename php.ini to php5.ini

############################################
## this line is specific for 1and1 hosting

    #AddType x-mapp-php5 .php
    #AddHandler x-mapp-php5 .php

############################################
## default index file

    DirectoryIndex index.php

<IfModule mod_php5.c>

############################################
## adjust memory limit

#    php_value memory_limit 64M
    php_value memory_limit 256M
    php_value max_execution_time 18000

############################################
## disable magic quotes for php request vars

    php_flag magic_quotes_gpc off

############################################
## disable automatic session start
## before autoload was initialized

    php_flag session.auto_start off

############################################
## enable resulting html compression

    #php_flag zlib.output_compression on

###########################################
# disable user agent verification to not break multiple image upload

    php_flag suhosin.session.cryptua off

###########################################
# turn off compatibility with PHP4 when dealing with objects

    php_flag zend.ze1_compatibility_mode Off

</IfModule>

<IfModule mod_security.c>
###########################################
# disable POST processing to not break multiple image upload

    SecFilterEngine Off
    SecFilterScanPOST Off
</IfModule>

<IfModule mod_deflate.c>

############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip

    # Insert filter on all content
    ###SetOutputFilter DEFLATE
    # Insert filter on selected content types only
    #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

    # Netscape 4.x has some problems...
    #BrowserMatch ^Mozilla/4 gzip-only-text/html

    # Netscape 4.06-4.08 have some more problems
    #BrowserMatch ^Mozilla/4\.0[678] no-gzip

    # MSIE masquerades as Netscape, but it is fine
    #BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    # Don't compress images
    #SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    # Make sure proxies don't deliver the wrong content
    #Header append Vary User-Agent env=!dont-vary

</IfModule>

<IfModule mod_ssl.c>

############################################
## make HTTPS env vars available for CGI mode

    SSLOptions StdEnvVars

</IfModule>

<IfModule mod_rewrite.c>

############################################
## enable rewrites

    Options +FollowSymLinks
    RewriteEngine on

############################################
## you can put here your magento root folder
## path relative to web root

    RewriteBase /home/content/33/7605133/html/

############################################
## workaround for HTTP authorization
## in CGI environment

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

############################################
## always send 404 on missing files in these folders

    RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

############################################
## never rewrite for existing files, directories and links

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

############################################
## rewrite everything else to index.php

    RewriteRule .* index.php [L]

</IfModule>

############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead

    AddDefaultCharset Off
    #AddDefaultCharset UTF-8

<IfModule mod_expires.c>

############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires

    ExpiresDefault "access plus 1 year"

</IfModule>

############################################
## By default allow all access

    Order allow,deny
    Allow from all

############################################
## If running in cluster environment, uncomment this
## http://developer.yahoo.com/performance/rules.html#etags

    #FileETag none

6voto

Ihr Problem ist diese Zeile
RewriteBase /home/content/33/7605133/html/

Sehen Sie sich den Kommentar über dieser Zeile an "Sie können hier Ihren Magento-Root-Ordner ablegen Pfad relativ zum Web Root"

Es muss also relativ zum Webroot sein, wenn Ihr Webroot also /home/content/33/7605133/html/ ist. was meiner Meinung nach der Fall ist, dann müssen Sie diese Zeile ändern in

RewriteBase /

1voto

user3709410 Punkte 43

Ich habe gerade eine Magento-Installation auf einem godaddy virtualhost und lief mit dem gleichen Problem.

Die Lösung bestand in folgendem Vorgehen:

  1. In godaddy Host-Administrations-Panel passen Sie die php-Version, um die Ihrer Magento-Installation (in meinem Fall magento 1.9.1.0 CE - Community Edition), ich habe es auf 5.4 geändert.

  2. Ändern Sie dann in der .htaccess-Datei des Magento-Basisverzeichnisses die Rewrite-Base-Direktive so, dass sie auf den relativen Pfad verweist, etwa so:

    RewriteBase /

  3. Fügen Sie in dieser Datei am Ende Folgendes hinzu: RewriteRule ^index.php/(.*)$ [L]

  4. Fügen Sie die folgenden Direktiven in die php5.ini Datei im Root Ihres godaddy's virtualhosts ein (wenn sie nicht existiert, erstellen Sie eine mit dem exakt angegebenen Namen):

    [sourcecode language="php"] register_globals = an allow_url_fopen = ein cgi.fix_pathinfo =1 [/sourcecode]

  5. Das war's (vergessen Sie nicht, alle Änderungen zu speichern und die verwendeten Dateien zu schließen.

Eine ausführliche Erklärung und detailliertere Schritte finden Sie im folgenden Artikel. Der Artikel

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X