diff -up ./link.inc ../link.my/link.inc
--- ./link.inc	2010-08-19 06:34:49.000000000 +0200
+++ ../link.my/link.inc	2010-09-20 19:35:47.000000000 +0200
@@ -18,6 +18,26 @@ function _link_process(&$item, $delta = 
   // Trim whitespace from URL.
   $item['url'] = trim($item['url']);
 
+  if($field['relative_url'] == TRUE) {
+    if(strpos($item['url'], $_SERVER['SERVER_NAME']) !== false) {
+      $urlarr = explode('/', $item['url']);
+
+      $in = false;
+      $newurl = '';
+      $separator = '';
+      foreach($urlarr as $urlpart) {
+        if($in) {
+          $newurl .= $separator . $urlpart;
+          $separator = '/';
+        }
+        if($urlpart == $_SERVER['SERVER_NAME'] && $in == false)
+          $in = true;
+      }
+      if($newurl != '')
+        $item['url'] = $newurl;
+    }
+  }
+
   // if no attributes are set then make sure $item['attributes'] is an empty array - this lets $field['attributes'] override it.
   if (empty($item['attributes'])) {
     $item['attributes'] = array();
diff -up ./link.module ../link.my/link.module
--- ./link.module	2010-08-19 06:34:49.000000000 +0200
+++ ../link.my/link.module	2010-09-20 19:36:19.000000000 +0200
@@ -68,6 +68,13 @@ function link_field_settings($op, $field
         '#description' => t('If checked, the URL field will be verified as a valid URL during validation.'),
       );
 
+      $form['relative_url'] = array(
+        '#type' => 'checkbox',
+        '#title' => t('Save as relative URL'),
+        '#default_value' => $field['relative_url'],
+        '#description' => t('If checked, internal URL will be saved as relative link.'),
+      );
+
       $form['url'] = array(
         '#type' => 'checkbox',
         '#title' => t('Optional URL'),
@@ -177,7 +184,7 @@ function link_field_settings($op, $field
       break;
 
     case 'save':
-      return array('attributes', 'display', 'url', 'title', 'title_value', 'enable_tokens', 'validate_url');
+      return array('attributes', 'display', 'url', 'title', 'title_value', 'enable_tokens', 'validate_url', 'relative_url');
 
     case 'database columns':
       return array(
