Mobile app version of vmapp.org
Login or Join
Ogunnowo487

: 404 not found errors when using Modx CMS in a subfolder I have installed Modx CMS on my hosting provider, but instead of installing it on my root directory where it usually goes, I put it

@Ogunnowo487

Posted in: #Apache #Htaccess #Modx #Seo

I have installed Modx CMS on my hosting provider, but instead of installing it on my root directory where it usually goes, I put it in a folder on the root directory called makeabio.

directory loads fine but when I click on a link in my page it would take me to the index.php file located outside the folder in the main directory. I believe it has something to do with the .htaccess file. I provided it below.

# MODX supports Friendly URLs via this .htaccess file. You must serve web
# pages via Apache with mod_rewrite to use this functionality, and you must
# change the file name from ht.access to .htaccess.
#
# Make sure RewriteBase points to the directory where you installed MODX.
# E.g., "/modx" if your installation is in a "modx" subdirectory.
#
# You may choose to make your URLs non-case-sensitive by adding a NC directive
# to your rule: RewriteRule ^(.*)$ index.php?q= [L,QSA,NC]

Options -Indexes -MultiViews +FollowSymLinks
RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?!makeabio/)(.+)$ /index.php?u= [NC,QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^makeabio/(.+)$ /makeabio/index.php?u= [NC,QSA,L]

# Rewrite domain.com -> domain.com -- used with SEO Strict URLs plugin #RewriteCond %{HTTP_HOST} . #RewriteCond %{HTTP_HOST} !^example-domain-please-change.com [NC] #RewriteRule (.*) example-domain-please-change.com/ [R=301,L]
#
# or for the opposite domain.com -> domain.com use the following
# DO NOT USE BOTH
#
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^www.example-domain-please-change.com [NC]
#RewriteRule (.*) www.example-domain-please-change.com/ [R=301,L]

# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent
# www.domain.com when your cert only allows secure.domain.com #RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) example-domain-please-change.com/ [R=301,L]

# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q= [L,QSA]

# Make sure .htc files are served with the proper MIME type, which is critical
# for XP SP2. Un-comment if your host allows htaccess MIME type overrides.

#AddType text/x-component .htc

# If your server is not already configured as such, the following directive
# should be uncommented in order to set PHP's register_globals option to OFF.
# This closes a major security hole that is abused by most XSS (cross-site
# scripting) attacks. For more information: php.net/register_globals #
# To verify that this option has been set to OFF, open the Manager and choose
# Reports -> System Info and then click the phpinfo() link. Do a Find on Page
# for "register_globals". The Local Value should be OFF. If the Master Value
# is OFF then you do not need this directive here.
#
# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
#
# Your server does not allow PHP directives to be set via .htaccess. In that
# case you must make this change in your php.ini file instead. If you are
# using a commercial web host, contact the administrators for assistance in
# doing this. Not all servers allow local php.ini files, and they should
# include all PHP configurations (not just this one), or you will effectively
# reset everything to PHP defaults. Consult php.net for more detailed
# information about setting PHP directives.

#php_flag register_globals Off

# For servers that support output compression, you should pick up a bit of
# speed by un-commenting the following lines.

#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5

# The following directives stop screen flicker in IE on CSS rollovers. If
# needed, un-comment the following rules. When they're in place, you may have
# to do a force-refresh in order to see changes in your designs.

#ExpiresActive On
#ExpiresByType image/gif A2592000
#ExpiresByType image/jpeg A2592000
#ExpiresByType image/png A2592000
#BrowserMatch "MSIE" brokenvary=1
#BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
#BrowserMatch "Opera" !brokenvary
#SetEnvIf brokenvary 1 force-no-vary


I want that when I click on a link, it goes to the makeabio directory and not to the root directory.

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Ogunnowo487

2 Comments

Sorted by latest first Latest Oldest Best

 

@Voss4911412

Hey guys I finally figured it out, some how the code that works to do this in Modx CMS is below! This code shows you how to install it in a folder on your server.

It tells the htaccess file to read the .html extension and loads up the page without a problem.
#works , so happy!!

# MODX supports Friendly URLs via this .htaccess file. You must serve web
# pages via Apache with mod_rewrite to use this functionality, and you must
# change the file name from ht.access to .htaccess.
#
# Make sure RewriteBase points to the directory where you installed MODX.
# E.g., "/modx" if your installation is in a "modx" subdirectory.
#
# You may choose to make your URLs non-case-sensitive by adding a NC directive
# to your rule: RewriteRule ^(.*)$ index.php?q= [L,QSA,NC]

Options +FollowSymlinks
RewriteEngine On
RewriteBase /folder-name/



# Rewrite domain.com -> domain.com -- used with SEO Strict URLs plugin #RewriteCond %{HTTP_HOST} . #RewriteCond %{HTTP_HOST} !^example-domain-please-change.com [NC]
#RewriteRule (.*) example-domain-please-change.com/ [R=301,L]
#
# or for the opposite domain.com -> domain.com use the following
# DO NOT USE BOTH
#
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^www.example-domain-please-change.com [NC]
#RewriteRule (.*) www.example-domain-please-change.com/ [R=301,L]



# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent
# www.domain.com when your cert only allows secure.domain.com #RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) example-domain-please-change.com/ [R=301,L]



# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q= [L,QSA]

RewriteCond %{REQUEST_URI} .html$
RewriteRule ^(.*).html$ [R=301,L]

RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q= [L,QSA]



# Make sure .htc files are served with the proper MIME type, which is critical
# for XP SP2. Un-comment if your host allows htaccess MIME type overrides.

#AddType text/x-component .htc



# If your server is not already configured as such, the following directive
# should be uncommented in order to set PHP's register_globals option to OFF.
# This closes a major security hole that is abused by most XSS (cross-site
# scripting) attacks. For more information: php.net/register_globals #
# To verify that this option has been set to OFF, open the Manager and choose
# Reports -> System Info and then click the phpinfo() link. Do a Find on Page
# for "register_globals". The Local Value should be OFF. If the Master Value
# is OFF then you do not need this directive here.
#
# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
#
# Your server does not allow PHP directives to be set via .htaccess. In that
# case you must make this change in your php.ini file instead. If you are
# using a commercial web host, contact the administrators for assistance in
# doing this. Not all servers allow local php.ini files, and they should
# include all PHP configurations (not just this one), or you will effectively
# reset everything to PHP defaults. Consult php.net for more detailed
# information about setting PHP directives.

#php_flag register_globals Off



# For servers that support output compression, you should pick up a bit of
# speed by un-commenting the following lines.

#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5



# The following directives stop screen flicker in IE on CSS rollovers. If
# needed, un-comment the following rules. When they're in place, you may have
# to do a force-refresh in order to see changes in your designs.

#ExpiresActive On
#ExpiresByType image/gif A2592000
#ExpiresByType image/jpeg A2592000
#ExpiresByType image/png A2592000
#BrowserMatch "MSIE" brokenvary=1
#BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
#BrowserMatch "Opera" !brokenvary
#SetEnvIf brokenvary 1 force-no-vary


Thank you to everyone who tried to help! @w3d @bybe

10% popularity Vote Up Vote Down


 

@Ann8826881

# Make sure RewriteBase points to the directory where you installed MODX.
# E.g., "/modx" if your installation is in a "modx" subdirectory.

RewriteBase /


As stated in the comments at the top of the file, RewriteBase should be set to your subdirectory:

RewriteBase /makeabio


This affects the relative path substitution later in the file (half way down):

RewriteRule ^(.*)$ index.php?q= [L,QSA]


However, the directives at the top of the file seem to conflict with this? Are these part of the standard setup?

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?!makeabio/)(.+)$ /index.php?u= [NC,QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^makeabio/(.+)$ /makeabio/index.php?u= [NC,QSA,L]

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme