BEdita is built to work with mod_rewrite out of the box, just like CakePhp. If something doesn't work nicely on your system, it can be related to apache/mod_rewrite settings.

Typical scenario: .css, .js and image file paths are wrong and BEdita interface is missing styles/images and appears almost blank (see screenshot at the end of this article).

Possible configurations:

  1. mod_rewrite enabled (BEdita default setup)
  2. mod_rewrite disabled (BEdita custom setup)

Check your apache configuration, for example using a "phpinfo" page:

  1. Save under DocumentRoot directory a php file with content
  2. Open that page with the browser and take a look in Loaded Modules: if mod_rewrite is already loaded, it's listed in that section.

If mod_rewrite is already loaded, default BEdita setup is ok for your system.

Decide if you prefer to change your apache configuration (enabling mod_rewrite) or you prefer to customize BEdita setup (for systems without mod_rewrite).

In case you want to change your apache configuration, you can find useful this CakePhp article about Apache and mod_rewrite and htaccess

mod_rewrite enabled - default BEdita setup

Default setup provides 3 .htaccess files and 'App.baseUrl' line commented, in $BEDITA_HOME/bedita-app/config/core.php.

  • $BEDITA_HOME/.htaccess
  • $BEDITA_HOME/bedita-app/.htaccess
  • $BEDITA_HOME/bedita-app/webroot/.htaccess
  • in $BEDITA_HOME/bedita-app/config/core.php:
    • //Configure::write('App.baseUrl', env('SCRIPT_NAME'));

mod_rewrite disabled - customize BEdita setup

In order to let BEdita work with mod_rewrite disabled, it's necessary to remove the 3 .htaccess files and uncomment 'App.baseUrl' line in $BEDITA_HOME/bedita-app/config/core.php:

  • Configure::write('App.baseUrl', env('SCRIPT_NAME'));