Ну не сказать. Мне например после перехода с php, js был жутко неудобен. Никак не могут привыкнуть к тому, что конкатенация строк там не через точку, а через +. Потом все никак не мог въехать что за методы такие у казалось бы не объектных переменных. Вообщем-то нюансы есть, и таки не мало.
^([^.]+)$ замените на ^([^.]+[^/])$
При таком выражении не будут редиректится ссылки которые оканчиваться слешем.
"Знак вопроса" обрабатывается через RewriteCond
RewriteCond %{QUERY_STRING} ^showtopic=([0-9]+)$
RewriteRule ^index.php showtopic=%1.php? [L]
или
RewriteCond %{QUERY_STRING} ^(showtopic|showforum|showuser)=([0-9]+)$
RewriteRule ^index.php %1=%2.php? [L]
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^short\.php / [R=301,L]
^([^.]+[^/])$
anton000, способ норм
Ждем с нетерпением этого момента !
.htaccess
http://www.google.ru/search?client=opera&rls=ru&q=php_value+error_reporting&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest
php_value error_reporting E_WARNING
php_value error_reporting 0
$badchars = "[ ]+| |\+|=|[|]|{|}|`|\(|\)|,|;|:|!|<|>|%|\*|\/|'|\"|~|\?|#|\\$|\\&|\\^|www[.]"; return (preg_match('/'.$badchars.'/i',$str)); .. $str = preg_replace("/(<br>*){2,}/i","<br><br>",$str); $str = preg_replace("/[ ]{2,}/", " ", $str); ... if (!(preg_match("/([a-z0-9_\-\.])+@([a-z0-9_\-\.])+\.([a-z0-9_\-\.])+/i",$form['email'])) || checkmail($form['email'])):