I'm quite new to the HTACCESS Command Line. I running into a few problems
1. When no GET[] variable is inputted, the page redirects to a error page, however in my php code I have a default function to cover this. How do I prevent this from happening and still load the code.
2. How do I redirect a page with a bad link to a clean link. For example: adminpage.php -> admin/view/...
I've looked at this discussion for redirects, but it does not seem to be working for me: Redirect *.php to clean URL
3. When there is not trailing slash at the end of a link with empty GET[] VAR, it fails to load and redirects to error page. For example: /index/r/2 -> /index/r
How do I prevent this.
I've looked at this discussion for trailing slashes, but this only helps with basic missing slashes, not when the GET[] variable is missing too..
Htaccess: add/remove trailing slash from URL
# Follow Symbolic Links
Options +FollowSymLinks
# Turn Rewrite Engine On
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteRule ^index/r/(\w*)$ /index.php?r=$1
RewriteRule ^index/r/(\w*)/(\w*)$ /index.php?r=$1&p=$2
RewriteRule ^admin/login$ /admin.php
RewriteRule ^admin/view/(\w*)$ /adminpage.php?p=$1
Are you aware of the performance issues re htaccess?
$_GET[] is protocol specific while $_REQUEST[] doesn't care reg get v post.
so you can handle missing inputs
<code>
if ( empty($_REQUEST[]) ) {
// some error logic
} else
// process the CGI inputs
}
</code>
btw: Most strange that the CGI program gets invoked without ANY inputs. IMO the front end should have caught that with onSubmit() and avoided the round trip for nothing.