RewriteRule http://example.org/(.+)/$ /index.php?p=$1
Das Pattern-Argument beeinhaltet nur den Pfad - das wird nicht funktionieren.
RewriteRule http://example.org/([a-zA-Z]+)/$ /index.php?p=$1
Siehe oben.
Du kannst auch in deiner Webseite <base tag angeben zb
<base href="http://example.org/" />
mod_rewrite interessiert sich nur für HTTP-Requests und nicht was irgendwie im HTML (oder sonstigen Ressourcen) steht
und dann
RewriteRule ^(.+)$ /index.php?p=$1
Schon eher - aber wo zu Anfang und Ende kennzeichnen, den Ausdruck speichern und dann anhängen wenns doch dein .* oder .+ und dann $0 auch tut?
so in die Richtung