0

I am trying to set up a Magento 2.3 CE multi store installation. Most things are working fine:

Default website and magento admin are available on https://a.b.info (/admin_sdgshgd).

I created another website + store view + store and set the base urls to https://c.b.info. Apache 2 config has been updated and seems to be working fine.

Now to the problem:

The default website (a.b.info) is referencing styles and js with /pub/static/*, so I had to set the RewriteBase to /public/static/ in the .htaccess file in the static folder.

The new website (c.b.info) is using /static/ (without /pub) - so this store works if I change RewriteBase to /static/.

That means, I can have either default and admin, or the new store working correctly, but not both.

I have no clue why the urls are with or without pub on the one hand and I have no idea either, how I could make both sites run correctly while they have different paths.

Here are the vhost configs:

  <VirtualHost *:443>
    ServerName a.b.info
    ServerAdmin [email protected]
    DocumentRoot /var/www/vhosts/b/httpdocs

    ErrorLog ${APACHE_LOG_DIR}/error-magento.log
    CustomLog ${APACHE_LOG_DIR}/access-magento.log combined

    RewriteEngine On

    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/b/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/b/privkey.pem
  </VirtualHost>


<VirtualHost *:443>
   ServerName          c.b.info
   DocumentRoot        /var/www/vhosts/b/httpdocs

   ErrorLog ${APACHE_LOG_DIR}/error-c.log
   CustomLog ${APACHE_LOG_DIR}/access-c.log combined

   RewriteEngine On

   SetEnv MAGE_RUN_CODE "postelhq"
   SetEnv MAGE_RUN_TYPE "website"
   SSLCertificateFile /etc/letsencrypt/live/b/fullchain.pem
   SSLCertificateKeyFile /etc/letsencrypt/live/b/privkey.pem
   Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

And that's the .htaccess excerpt:

<IfModule mod_rewrite.c>
    RewriteEngine On

    ## you can put here your pub/static folder path relative to web root
    RewriteBase /pub/static/  # works with a.b.info
    #Rewritebase /static/ # works with c.b.info

    # Remove signature of the static files that is used to overcome the browser cache
    RewriteRule ^version.+?/(.+)$ $1 [L]


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

    RewriteRule .* ../static.php?resource=$0 [L]
    # Detects if moxieplayer request with uri params and redirects to uri without params
    <Files moxieplayer.swf>
        RewriteCond %{QUERY_STRING} !^$
        RewriteRule ^(.*)$ %{REQUEST_URI}? [R=301,L]
    </Files>


</IfModule>

Any ideas what could have gone wrong? Thanks, OG

1 Answer 1

0

Got the solution, but I don't know why.. With the second domain, I had to add pub/ at then end of the base urls.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.