Update: Tried and works ok only without the WP no category base plugin, this is, you have to cope with the category though you can change it freely in Permalink settings.
For a full URL in single posts, set the category structure in Settings > Permalinks, then in Category Base enter /%category%/%postname%/
(image below).
The function I teste is:
function extend_date_archives_flush_rewrite_rules(){
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_action('init', 'extend_date_archives_flush_rewrite_rules');
function extend_date_archives_add_rewrite_rules($wp_rewrite){
$rules = array();
$structures = array(
$wp_rewrite->get_category_permastruct() . $wp_rewrite->get_date_permastruct(),
$wp_rewrite->get_category_permastruct() . $wp_rewrite->get_month_permastruct(),
$wp_rewrite->get_category_permastruct() . $wp_rewrite->get_year_permastruct(),
);
foreach( $structures as $s ){
$rules += $wp_rewrite->generate_rewrite_rules($s);
}
$wp_rewrite->rules = $rules + $wp_rewrite->rules;
}
add_action('generate_rewrite_rules','extend_date_archives_add_rewrite_rules');
Then You can access year category/categoryname/2012/02
, month category/categoryname/2012/02
and day site.com/category/the-categoryname/2012/02/25
.
I think you can try merge the plugin rewrite with this function because two rewrites seems to cause some conflict.