skip to Main Content

New to htaccess files and have spent a whole day trying to configure one by robbing snippets here and there but not really sure what is going on…

I’m trying to set up a Magento site and at first was getting only 500 errors, when I resolved that I was getting 404s in the middle of the main page and could not access the admin side at all, then just 404’s on the admin page…

I eventually got this file where I am not getting any server errors but i’m not sure if it is what it should be, if I am not mistaking it is not allowing any image files to be displayed on the admin side, as it just looks like basic html and not an actual dashboard where I can start to configure things…

Any help with this would be greatly appreciated

## overrides deployment configuration mode value
## use command bin/magento deploy:mode:set to switch modes

#   SetEnv MAGE_MODE developer

## 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 768M
    php_value max_execution_time 18000
## 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
</IfModule>

<IfModule mod_php7.c>
## adjust memory limit
    php_value memory_limit 768M
    php_value max_execution_time 18000
## 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
</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>

## workaround for Apache 2.4.6 CentOS build when working via ProxyPassMatch with HHVM (or any other)
## Please, set it on virtual host configuration level

    ##SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

<IfModule mod_rewrite.c>
## enable rewrites
    Options +FollowSymLinks
    RewriteEngine on
## you can put here your magento root folder
## path relative to web root
    #RewriteBase /magento/
## workaround for HTTP authorization
## in CGI environment
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
## TRACE and TRACK HTTP methods disabled to prevent XSS attacks
    RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
    RewriteRule .* - [L,R=405]
## redirect for mobile user agents
    #RewriteCond %{REQUEST_URI} !^/mobiledirectoryhere/.*$
    #RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
    #RewriteRule ^(.*)$ /mobiledirectoryhere/ [L,R=302]
## 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"
    ExpiresByType text/html A0
    ExpiresByType text/plain A0
</IfModule>

## Deny access to root files to hide sensitive application information
    RedirectMatch 404 /.git
    <Files composer.json>
        order allow,deny
        deny from all
    </Files>
    <Files composer.lock>
        order allow,deny
        deny from all
    </Files>
    <Files .gitignore>
        order allow,deny
        deny from all
    </Files>
    <Files .htaccess>
        order allow,deny
        deny from all
    </Files>
    <Files .htaccess.sample>
        order allow,deny
        deny from all
    </Files>
    <Files .php_cs>
        order allow,deny
        deny from all
    </Files>
    <Files .travis.yml>
        order allow,deny
        deny from all
    </Files>
    <Files CHANGELOG.md>
        order allow,deny
        deny from all
    </Files>
    <Files CONTRIBUTING.md>
        order allow,deny
        deny from all
    </Files>
    <Files CONTRIBUTOR_LICENSE_AGREEMENT.html>
        order allow,deny
        deny from all
    </Files>
    <Files COPYING.txt>
        order allow,deny
        deny from all
    </Files>
    <Files Gruntfile.js>
        order allow,deny
        deny from all
    </Files>
    <Files LICENSE.txt>
        order allow,deny
        deny from all
    </Files>
    <Files LICENSE_AFL.txt>
        order allow,deny
        deny from all
    </Files>
    <Files nginx.conf.sample>
        order allow,deny
        deny from all
    </Files>
    <Files package.json>
        order allow,deny
        deny from all
    </Files>
    <Files php.ini.sample>
        order allow,deny
        deny from all
    </Files>
    <Files README.md>
        order allow,deny
        deny from all
    </Files>

## If running in cluster environment, uncomment this
## http://developer.yahoo.com/performance/rules.html#etags
    #FileETag none
## Add custom headers
<IfModule mod_headers.c>
    Header set X-Content-Type-Options "nosniff"
    Header set X-XSS-Protection "1; mode=block"
</IfModule>

Tried adding RewriteCond %{REQUEST_FILENAME} !.(css|js|png|jpg)$ to this but no result

2

Answers


  1. My advice, please always start with the logs, so enable debugging log level in httpd.conf/apache2.conf depends on what kind of distribution you are running, and search for the root cause in the log files, usually the defaults are /var/log/httpd/error.log & access.log (you can change the paths via variables in httpd.conf). You’ve blindly changed nobody knows what which is not a best solution I’d say. You should alway know what you’re doing.

    Login or Signup to reply.
  2. First replace .htaccess file with default one and then please check your server setting.

    For Ubuntu edit the file /etc/apache2/apache2.conf To edit this file run command

    sudo vi /etc/apache2/apache2.conf
    

    Modify from:

    <Directory /var/www/>
         Options Indexes FollowSymLinks
         AllowOverride None
         Require all granted
    </Directory>
    

    to

    <Directory /var/www/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
    

    Then restart apache

    sudo service apache2 restart

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search