ok actually...
RewriteEngine ON
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule (.+) $1 [L]
RewriteRule ^waiting/(.*)/(.*)$ index.php?action=waiting&kid=$1&name=$2 [L]
RewriteRule ^waiting/(.*)$ index.php?action=waiting&page=$1 [L]
RewriteRule ^photos/(.*)$ index.php?action=photos&group=$1 [L]
RewriteRule ^view/(.*)$ view.php?image=$1 [L]
RewriteRule ^(.*)$ index.php?action=$1 [L]
Works except for the view line, which results in a 500 internal server error. However,
RewriteEngine ON
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^waiting/(.*)/(.*)$ index.php?action=waiting&kid=$1&name=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^waiting/(.*)$ index.php?action=waiting&page=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^photos/(.*)$ index.php?action=photos&group=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^view/(.*)$ view.php?image=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?action=$1 [L]
all works, and view.php loads with an empty $_GET array (I have error checking in the script to know that). I am confused why the line partially works in one and doesn't work at all in the other.