Solved moving flarum from sub directory to subdomain

  • @hari

    there is nginx.conf file in ask directory

    So are you using Apache or NGINX ?

  • @phenomlab idk i think i am using apache. how to check?


  • @hari ok, what you have here is NGINX acting as a reverse proxy to Apache. This means you should make the changes in the Apache .htaccess file.

  • @phenomlab sir, what changes i need to make?

  • @phenomlab yes added thse lines

    <Directory "/public">
        AllowOverride All
    <IfModule mod_rewrite.c>
      RewriteEngine on
      # Ensure the Authorization HTTP header is available to PHP
      RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
      # Uncomment the following lines if you are not using a `public` directory
      # to prevent sensitive resources from being exposed.
       RewriteRule /\.git / [F,L]
       RewriteRule ^composer\.(lock|json)$ / [F,L]
       RewriteRule ^config.php$ / [F,L]
       RewriteRule ^flarum$ / [F,L]
       RewriteRule ^storage/(.*)?$ / [F,L]
       RewriteRule ^vendor/(.*)?$ / [F,L]
      # Pass requests that don't refer directly to files in the filesystem to index.php
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^ index.php [QSA,L]
    <Directory "/public">
        AllowOverride All
    # Disable directory listings
    Options -Indexes
    # MultiViews can mess up our rewriting scheme
    Options -MultiViews
    # The following directives are based on best practices from H5BP Apache Server Configs
    # Expire rules for static content
    <IfModule mod_expires.c>
      ExpiresActive on
      ExpiresDefault                                      "access plus 1 month"
      ExpiresByType text/css                              "access plus 1 year"
      ExpiresByType application/atom+xml                  "access plus 1 hour"
      ExpiresByType application/rdf+xml                   "access plus 1 hour"
      ExpiresByType application/rss+xml                   "access plus 1 hour"
      ExpiresByType application/json                      "access plus 0 seconds"
      ExpiresByType application/ld+json                   "access plus 0 seconds"
      ExpiresByType application/schema+json               "access plus 0 seconds"
      ExpiresByType application/vnd.geo+json              "access plus 0 seconds"
      ExpiresByType application/vnd.api+json              "access plus 0 seconds"
      ExpiresByType application/xml                       "access plus 0 seconds"
      ExpiresByType text/calendar                         "access plus 0 seconds"
      ExpiresByType text/xml                              "access plus 0 seconds"
      ExpiresByType image/              "access plus 1 week"
      ExpiresByType image/x-icon                          "access plus 1 week"
      ExpiresByType text/html                             "access plus 0 seconds"
      ExpiresByType application/javascript                "access plus 1 year"
      ExpiresByType application/x-javascript              "access plus 1 year"
      ExpiresByType text/javascript                       "access plus 1 year"
      ExpiresByType application/manifest+json             "access plus 1 week"
      ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
      ExpiresByType text/cache-manifest                   "access plus 0 seconds"
      ExpiresByType text/markdown                         "access plus 0 seconds"
      ExpiresByType audio/ogg                             "access plus 1 month"
      ExpiresByType image/bmp                             "access plus 1 month"
      ExpiresByType image/gif                             "access plus 1 month"
      ExpiresByType image/jpeg                            "access plus 1 month"
      ExpiresByType image/png                             "access plus 1 month"
      ExpiresByType image/svg+xml                         "access plus 1 month"
      ExpiresByType image/webp                            "access plus 1 month"
      ExpiresByType video/mp4                             "access plus 1 month"
      ExpiresByType video/ogg                             "access plus 1 month"
      ExpiresByType video/webm                            "access plus 1 month"
      ExpiresByType application/wasm                      "access plus 1 year"
      ExpiresByType font/collection                       "access plus 1 month"
      ExpiresByType application/         "access plus 1 month"
      ExpiresByType font/eot                              "access plus 1 month"
      ExpiresByType font/opentype                         "access plus 1 month"
      ExpiresByType font/otf                              "access plus 1 month"
      ExpiresByType application/x-font-ttf                "access plus 1 month"
      ExpiresByType font/ttf                              "access plus 1 month"
      ExpiresByType application/font-woff                 "access plus 1 month"
      ExpiresByType application/x-font-woff               "access plus 1 month"
      ExpiresByType font/woff                             "access plus 1 month"
      ExpiresByType application/font-woff2                "access plus 1 month"
      ExpiresByType font/woff2                            "access plus 1 month"
      ExpiresByType text/x-cross-domain-policy            "access plus 1 week"
    # Gzip compression
    <IfModule mod_deflate.c>
      <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE "application/atom+xml" \
                                      "application/javascript" \
                                      "application/json" \
                                      "application/ld+json" \
                                      "application/manifest+json" \
                                      "application/rdf+xml" \
                                      "application/rss+xml" \
                                      "application/schema+json" \
                                      "application/vnd.geo+json" \
                                      "application/" \
                                      "application/wasm" \
                                      "application/x-font-ttf" \
                                      "application/x-javascript" \
                                      "application/x-web-app-manifest+json" \
                                      "application/xhtml+xml" \
                                      "application/xml" \
                                      "font/collection" \
                                      "font/eot" \
                                      "font/opentype" \
                                      "font/otf" \
                                      "font/ttf" \
                                      "image/bmp" \
                                      "image/svg+xml" \
                                      "image/" \
                                      "image/x-icon" \
                                      "text/cache-manifest" \
                                      "text/calendar" \
                                      "text/css" \
                                      "text/html" \
                                      "text/javascript" \
                                      "text/plain" \
                                      "text/markdown" \
                                      "text/vcard" \
                                      "text/vnd.rim.location.xloc" \
                                      "text/vtt" \
                                      "text/x-component" \
                                      "text/x-cross-domain-policy" \
    # Fix for vulnerability
    <IfModule mod_headers.c>
      RequestHeader unset Proxy

    getting 500 error

  • @hari you need the full path to Flarum for it to work


  • @phenomlab i have tired both full path and path


    it is not working and redirecting to the main domain.

    sir, looks like you are somewhere outside i will wait till you come online/get free.

    should i need to edit htaccess of public_html or htaccess of ask folder?

  • @hari should be the ask folder. If you drop me a PM with the server details I’ll have a look at this tomorrow.

    EDIT: I noticed you’ve raised this on Flarum’s forums

  • @phenomlab yes,

    created different app and moved files and DB now everything is working ✅

    thanks 🙂

  • Topic has been marked as solved  Hari Hari 

If this topic and the associated threads resolved an issue for you, or was useful, why not buy me a coffee? It's a nice gesture, and there's other ways to donate if you wish 💗

Discover More