Since my hoster is still running that old server horse (while my test environment runs A2.2), I came across a strange issue:
# Rewrite JavaScript callback URLs of the form 'js.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^\/js\/.*
RewriteRule ^(.*)$ js.php?q=$1 [L,QSA]
as you recommend it does not work. Debugging the environment that results out of the rewrite rules, I found this difference between the two servers:
A2.2:
'QUERY_STRING' => 'q=js/module/callback',
'REQUEST_URI' => '/js/module/callback',
'SCRIPT_NAME' => '/js.php',
'PHP_SELF' => '/js.php',
A1.3:
'QUERY_STRING' => '',
'REQUEST_URI' => '/js/module/callback',
'SCRIPT_NAME' => '/js',
'PHP_SELF' => '/js/module/callback',
Having this, $GET['q'] is empty and thus js.php cannot build the $args array.
The only other siginificant difference than the two Server versions is that 2.2 runs on a Windows machine while the production server is on Linux.
However, strange enough, changing the .htaccess snippet to
# Rewrite JavaScript callback URLs of the form 'js.php?q=x'.
RewriteCond %{REQUEST_URI} ^\/js\/.*
RewriteRule ^(.*)$ js.php?q=$1 [L,QSA]
works - on both servers. I have no idea what's behind this (whether it is a config issue on my hoster's side or a different apache version behavior), but probably you might consider to alter the .htaccess recommendations?
Comments
Comment #1
doitDave commented(although no longer hosting at that ISP, the issue should have been set to the proper status ;))
Comment #2
doitDave commentedComment #3
michielnugter commentedTested and the changed .htaccess rules work on both my local machine (windows) and on a production site (linux).
The readme for both Drupal 6 and 7 is updated.