I handled to obtain the help of an earlier question and that i possess the following during my .htaccess during my web root.

# REWRITE DEFAULTS
RewriteEngine On
RewriteBase /

# /view.php?t=h5k6 externally to /h5k6
RewriteCond %{THE_REQUEST} ^GET\ /view\.php
RewriteCond %{QUERY_STRING} ^([^&]*&)*t=([^&]+)&?.*$
RewriteRule ^/view\.php$ /%2 [L,R=301]

# /h5k6 internally to /view.php?t=h5k6
RewriteRule ^/(.*) /view.php?t=$1

However, basically key in this: http://www.example.com/7hde it'll just produce a 404 error.

Shall We Be Held missing something?

Thanks all

Update

This things i have finally:

# /view.php?t=h5k6 externally to /h5k6
RewriteCond %{THE_REQUEST} ^GET\ /view\.php
RewriteCond %{QUERY_STRING} ^t=([0-9a-z]+)$
RewriteRule ^view\.php$ /%1 [L,R=301,QSA]

# /h5k6 internally to /view.php?t=h5k6
RewriteRule ^([0-9a-z]+)$ view.php?t=$ [L,QSA]

It appears to operate but I am unable to take advantage from the Query string. Each time I attempt to obtain the worth of t. I recieve this "$"?!

When utilizing mod_rewrite inshtaccess files (see Per-directory Rewrites), the contextual per-directory path prefix is removed before testing a guide and appended after using a guide.

Inside your situation it's the leading / that should be taken off your designs and alternatives:

# /view.php?t=h5k6 externally to /h5k6
RewriteCond %{THE_REQUEST} ^GET\ /view\.php
RewriteCond %{QUERY_STRING} ^([^&]*&)*t=([^&]+)&?.*$
RewriteRule ^view\.php$ /%2 [L,R=301]

# /h5k6 internally to /view.php?t=h5k6
RewriteRule ^(.*) view.php?t=$1

You didn't remember that information inside your last question. Otherwise I'd have said that in those days.

Make use of this to debug:

RewriteLog /tmp/mylog
RewriteLogLevel 9

It's spinning http://www.example.com/7hde to http://www.example.com/view.php?t=7hde while using second rule. Then it is using the very first rule and altering the query string to http://www.example.com/7hde because the last rule, that is clearly invalid.

Eliminate the very first rule.