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

doitDave’s picture

Status: Active » Needs work

(although no longer hosting at that ISP, the issue should have been set to the proper status ;))

doitDave’s picture

Status: Needs work » Active
michielnugter’s picture

Status: Active » Closed (fixed)

Tested 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.