Index: classes/class.tx_linkvalidator_processing.php 
===================================================================
--- classes/class.tx_linkvalidator_processing.php	(revision 41920)
+++ classes/class.tx_linkvalidator_processing.php	(working copy)
@@ -114,6 +114,7 @@
 					$record['linktitle'] = $entryValue['linktitle'];
 					$record['field'] = $entryValue['field'];
 					$record['lastcheck'] = time();
+					$record['matchstring'] = $entryValue['matchString'];
 					$url = $entryValue['substr']['tokenValue'];
 					$this->linkCounts[$table]++;
 					$checkURL = $hookObj->checkLink($url, $entryValue, $this);
@@ -190,7 +191,6 @@
 							if ($spKey == 'typolink_tag') {
 								$linkTags = $htmlParser->splitIntoBlock('link', $resultArray['content']);
 							}
-
 							foreach ($resultArray['elements'] as $element) {
 								$r = $element['subst'];
 
@@ -209,8 +209,9 @@
 
 									foreach ($this->hookObjectsArr as $keyArr => $hookObj) {
 										$type = $hookObj->fetchType($r, $type, $keyArr);
-									}
+									}									
 									$results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["substr"] = $r;
+									$results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["matchString"] = $element['matchString'];
 									$results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["row"] = $record;
 									$results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["table"] = $table;
 									$results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["field"] = $field;
Index: classes/linktypes/class.tx_linkvalidator_linktypes_internal.php 
===================================================================
--- classes/linktypes/class.tx_linkvalidator_linktypes_internal.php	(revision 41920)
+++ classes/linktypes/class.tx_linkvalidator_linktypes_internal.php	(working copy)
@@ -33,6 +33,8 @@
 
 	const DELETED = 'deleted';
 	const HIDDEN = 'hidden';
+	const NO_TYPE_NUM = 'noTypeNum';
+	const NOT_EXISTING = 'notExisting';
 
 	/**
 	 * Checks a given URL + /path/filename.ext for validity
@@ -43,14 +45,26 @@
 	 * @return  string	  TRUE on success or FALSE on error
 	 */
 	public function checkLink($url, $softRefEntry, $reference) {
+		$linkParams = t3lib_div::trimExplode(',',$softRefEntry['matchString']);
 		$rows = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
 			'uid, title, deleted, hidden, starttime, endtime',
 			'pages',
 			'uid = ' . intval($url)
 		);
-
+		$this->id = intval($url);				
 		$response = TRUE;
 		$errorParams = array();
+		if(intval($linkParams[1])) {
+			$typeNum = intval($linkParams[1]);
+			$response = $this->chekTypNum($typeNum);
+			if(!$response) {
+				$errorParams['errorType'] = NO_TYPE_NUM;
+				$errorParams['typeNum'] = $typeNum;
+				$errorParams['title'] = $rows[0]['title'];
+				$errorParams['uid'] = $rows[0]['uid'];
+			}
+		}
+				
 		if ($rows[0]) {
 			if ($rows[0]['deleted'] == '1') {
 				$errorParams['errorType'] = DELETED;
@@ -66,8 +80,8 @@
 				$response = FALSE;
 			}
 		} else {
-			$errorParams['errorType'] = 'notExisting';
-			$errorParams['uid'] = intval($url);
+			$errorParams['errorType'] = NOT_EXISTING;
+			$errorParams['uid'] = intval($linkParams[0]);
 			$response = FALSE;
 		}
 
@@ -77,7 +91,26 @@
 
 		return $response;
 	}
+	
+	function chekTypNum($typeNum) {
+		$response = TRUE;
+		$befunc = t3lib_div::makeInstance('t3lib_BEfunc');
+		$this->rootline =$befunc->BEgetRootLine($linkParams[0]);
+		if(is_array($this->rootline) && !empty($this->rootline)){
+			$this->tmpl = t3lib_div::makeInstance('t3lib_TStemplate');
+			$this->tmpl->tt_track = FALSE;
+			$this->tmpl->init();
+			$this->tmpl->start($this->rootline);
+		}
+		$this->sPre = $this->tmpl->setup['types.'][$linkParams[1]];
+		$this->pSetup = $this->tmpl->setup[$this->sPre.'.'];
 
+		if (!is_array($this->pSetup))	{
+				$response = FALSE;
+		}
+		return $response;
+	}
+	
 	/**
 	 * Generate the localized error message from the error params saved from the parsing. 
 	 *
@@ -87,6 +120,12 @@
 	public function getErrorMessage($errorParams) {
 		$errorType = $errorParams['errorType'];
 		switch ($errorType) {
+			case NO_TYPE_NUM:
+				$response = $GLOBALS['LANG']->getLL('list.report.notypenum');
+				$response = str_replace('###title###', $errorParams['title'], $response);
+				$response = str_replace('###uid###', $errorParams['uid'], $response);
+				$response = str_replace('###typeNum###', $errorParams['typeNum'], $response);
+				break;
 			case DELETED:
 				$response = $GLOBALS['LANG']->getLL('list.report.pagedeleted');
 				$response = str_replace('###title###', $errorParams['title'], $response);
@@ -115,8 +154,13 @@
 	 * @return  string	  parsed broken url
 	 */
 	public function getBrokenUrl($row) {
+		$params = '';
 		$domain = t3lib_BEfunc::getViewDomain($row['pid']);
-		return $domain . '/index.php?id=' . $row['url'];
+		$linkParams = t3lib_div::trimExplode(',',$row['matchstring']);
+		if(intval($linkParams[1])) {
+			$params = '&type=' . intval($linkParams[1]);
+		}
+		return $domain . '/index.php?id=' . $row['url'] . $params;
 	}
 }
 
Index: ext_tables.sql
===================================================================
--- ext_tables.sql	(revision 41920)
+++ ext_tables.sql	(working copy)
@@ -8,6 +8,7 @@
 	linktitle text,
 	url text,
 	urlresponse text,
+	matchstring text,
 	lastcheck int(11) DEFAULT '0' NOT NULL,
 	typelinks varchar(50) DEFAULT '' NOT NULL,
 
Index: modfunc1/locallang.xml
===================================================================
--- modfunc1/locallang.xml	(revision 41920)
+++ modfunc1/locallang.xml	(working copy)
@@ -43,7 +43,8 @@
 			<label index="list.tableHead.lastCheck">Last check</label>
 			<label index="list.edit">Edit element containing this broken link</label>
 			<label index="list.field">(Field: %s)</label>
-			<label index="list.no.headline">&lt;i&gt;(no headline)&lt;/i&gt;</label>
+			<label index="list.no.headline">&lt;i&gt;(no headline)&lt;/i&gt;</label>			
+			<label index="list.report.notypenum">The page '###title###' (###uid###)  is not configured! [type= ###typeNum###]</label>
 			<label index="list.report.pagedeleted">Page '###title###' (###uid###) is deleted.</label>
 			<label index="list.report.pagenotexisting">Page (###uid###) does not exist.</label>
 			<label index="list.report.pagenotvisible">Page '###title###' (###uid###) is not visible.</label>

