Hi Tom,
I don't know if the solution could be defined as "easy"
, but here it goes.
First of all, the difference between the link formats is due to the Use slash arguments directive found on the HTTP page: Site administration > Server > HTTP. On Moodle 1.9.11 this setting is enabled by default (if I remember correctly, in Moodle versions before 1.9.7 it was turned off by default).
The first URL you mentioned follows the slash arguments format, the second one doesn't.
My first sugestion would be to go and disable the Use slash arguments directive and see if that fixes everything. If so, I would then reenable it and see everything is still working OK. The idea behind these two steps is to update all references inside the DB.
If the previous steps didn't work, then you'll need to:
- Make sure the Use slash arguments directive is enabled.
- Put your installation in Maintenance mode (Site administration > Server > Maintenance mode), and log off. This means that you should do this when there are no users working on the installation (e.g. late at night).
- Log into your server control panel (e.g. cPanel).
- Open PhpMyAdmin.
- Create a DataBase backup (*), and download it to your computer.
- Create a copy of the SQL file (you need to keep an original version in case something goes wrong).
- Open the SQL file with a text editor that handles UTF-8 encoding (e.g. SCUniPad).
- Search and replace all "file.php?file=/" references to "file.php/", and save the file.
- Return to PhpMyAdmin and restore (Import) the modified SQL backup file.
- Log into your Moodle installation and check that all your images and course files are OK.
- Turn off maintenance mode.
Everything (images, course files) should be working fine after doing these steps.
(*) For the DB backup, via PhpMyAdmin:
- Select the Moodle DB (at the left column).
- Select the Export tab.
- Under the Export group:
- Click on the Select All link
- Select the SQL radio button.
- Under the Options group:
- Check the Comments check box.
- Select NONE for SQL compatibility mode.
- Under the Options > Structure group, check the following boxes:
- Add DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT.
- Add IF NOT EXISTS.
- Enclose table and field names with backquotes.
- Under the Options > Structure > Add into comments group, you could optionally check the Creation/Update/Check dates check box.
- Under the Options > Data group, check the following check boxes:
- Complete inserts.
- Extended Inserts.
- Use hexadecimal for BLOB.
- Under the Save as file group of options:
- Select the None radio button for compression.
- Click the Go button.
The SQL backup file will be saved into your computer, ready to be edited.
Hope this helps.