i upload my elgg 2.3 web site to the server in sub directory and update the db and elgg-config/settings.php with db user and dbname then when i go to myweb.com/test/upgrade.php in browser i got this msg " You must update your .htaccess file so that the path is injected into the GET parameter __elgg_uri (you can use install/config/htaccess.dist as a guide)."

any advice?

  • The RewriteBase is set in the .htaccess file. If your site is not installed in a subdirectory, you wouldn't necessarily have to set the RewriteBase. But if your site is installed in a subdirectory, you have to define the RewriteBase in .htaccess accordingly (there's some explanation included as comment in .htaccess how to set it). If you already have an .htaccess in the install folder of Elgg (for example copied from your other installation) you only have to edit the existing .htaccess file accordingly. If you have no .htaccess file yet (or forgot to copy it), you could also use the template file htaccess.dist from vendor/elgg/elgg/install/config/ as starting point (copy this file to the install folder, rename it to .htaccess and make set the RewriteBase).

  • thanks for reply ...i did what you point to and still got the same error i looked for php mod_rewrite and it's working it put the whole site out of sub directory to the parent and still give me same error

  • If you haven't done it yet, call YOURSITE.URL/upgrade.php in the browser. This should flush the cache of Elgg where references to the old url might still be included. If this doesn't help, try deleting the system_cache and views_simplecache folders in the data directory to make sure that really no old cached files remain (these folders will get re-created automatically afterwards).

  • the problem solved by editing Apache server configuration in  httpd.conf by change AllowOverride None to AllowOverride All- then restart server and it's ok now ... appreciate your help