kostenloser Webspace werbefrei: lima-city


Komponenten von SEO-URLs ausnehmen in Joomla

lima-cityForumDie eigene HomepageHomepage Allgemein

  1. Autor dieses Themas

    r*s

    Ich habe das Problem, dass ich in Joomla Komponenten habe die nicht korrekt funktionieren, wenn ich die Option "Suchmaschinenfreundliche URLs " aktiviere.
    Kann ich diese Komponenten irgendwie von dieser Option ausnehmen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. rms schrieb:
    Ich habe das Problem, dass ich in Joomla Komponenten habe die nicht korrekt funktionieren, wenn ich die Option "Suchmaschinenfreundliche URLs " aktiviere.
    Kann ich diese Komponenten irgendwie von dieser Option ausnehmen?


    Sofern sie ber das Menü erreichbar sind, werden sie auch indexiert.
    Vielleicht versuchst Du den Umweg über eine XML-Sitemap, in der Du die betreffenden URLs einfach nicht mit aufführst.

    Gruß T.
  4. Autor dieses Themas

    r*s

    Ich glaube wir haben gerade etwas aneinander vorbei geredet.
    Natürlich werden auch die "normalen" Links indexiert, allerdings werden SEF URLs schneller indexiert. Darum würde ich diese auch gerne verwenden. Allerdings funktioniert cbe nicht mit dieser Einstellung. Jetzt habe ich soeben eine router.php Datei gefunden, die alles korrigieren sollte. Allerdings funktionieren die Freundschaftseinladungen damit nicht.
    Aber ich habe keine Ahnung wie so eine Datei funktioniert :-(

    Also hier mal der Code:
    <?php
    /**
    * Joomla/Mambo Community Builder
    * @version $Id: comprofiler.php 609 2008-08-08 21:30:15Z beat $
    * @package Community Builder
    * @subpackage router.php
    * @author Beat
    * @copyright (C) Beat, www.joomlapolis.com
    * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
    */
    
    defined('_JEXEC') or die('Direct Access to this location is not allowed.');
    
    
    function cbeBuildRoute( &$query ) {
    	$segments									=	array();
    
    	if ( isset( $query['task'] ) ) {
    	//  if ( empty( $query['Itemid'] ) ) {
    		$task									=	strtolower( $query['task'] );
    		$segments[]								=	$task;
    
    		switch ( $task ) {
    			case 'useravatar':
    				break;
    			case 'userdetails':
    				break;
    			case 'userprofile':
    				if ( isset( $query['user'] ) && $query['user'] ) {
    					if ( is_numeric( $query['user'] ) ) {
    						$sql					=	'SELECT username FROM #__users WHERE id = '. (int) $query['user'];
    						$database				=&	JFactory::getDBO();
    						$database->setQuery( $sql, 0, 1 );
    						$username				=	$database->loadResult();
    						if ( $username && ! ( preg_match( '+[@:/\n\r\t\a\e\f\v\x00_]+', $username ) || is_numeric( $username ) ) ) {
    							$query['user']		=	str_replace( '.', '_', $username );		// a dot (.) in a username is mishandled by the dot htaccess of joomla 1.5
    						}
    					}
    					$segments[]					=	$query['user'];
    					unset( $query['user'] );
    				}
    				break;
    
    			case 'userslist':
    				$listid							=	false;
    				if ( isset( $query['listid'] ) && $query['listid'] ) {
    					if ( is_numeric( $query['listid'] ) ) {
    						$sql					=	'SELECT title FROM #__cbe_lists WHERE listid = '. (int) $query['listid'] . ' AND published = 1';
    						$database				=&	JFactory::getDBO();
    						$database->setQuery( $sql, 0, 2 );
    						$listNames				=	$database->loadResultArray();
    						if ( is_array( $listNames ) && ( count( $listNames ) == 1 ) ) {
    							$query['listid']	=	$listNames[0];
    						}
    					}
    					$segments[]					=	$query['listid'];
    					unset( $query['listid'] );
    					$listid						=	true;
    				}
    				if ( isset( $query['searchmode'] ) && $query['searchmode'] ) {
    					if ( ! $listid ) {
    						$segments[]				=	'0';
    					}
    					$segments[]					=	'search';
    					unset( $query['searchmode'] );
    				}
    				break;
    				
    			default:
    				break;
    		}
    		unset($query['task']);
    	//  }
    	}
    
    	return $segments;
    }
    
    function cbeParseRoute( $segments ) {
    	$vars										=	array();
    
    	//Get the active menu item
    	// $menu									=&	JSite::getMenu();
    	// $item									=&	$menu->getActive();
    	//
    	// if ( ! isset( $item ) ) {
    	$count										=	count( $segments );
    	if ( $count > 0 ) {
    		$vars['task']							=	strtolower( $segments[0] );
    
    		switch ( $vars['task'] ) {
    			case 'useravatar':
    				$vars['task'] = 'userAvatar';
    				break;
    			case 'userdetails':
    				$vars['task'] = 'userDetails';
    				$app =& JFactory::getApplication();
    				$app->redirect('index.php?option=com_cbe&task=userDetails');
    
    				break;
    			case 'lostpassword':
    				$vars['task'] = 'lostPassword';
    				break;
    			case 'userprofile':
    				if ( $count > 1 ) {
    					// Joomla's 1.5 router.php unfortunately encodes '-' as ':' in the decoding,
    					// so we do what we can as usernames with '-' are more common than usernames with ':':
    					$user						=	str_replace( array( ':', '_' ), array( '-', '.' ), $segments[1] );
    					if ( ! is_numeric( $user ) ) {
    						$database				=&	JFactory::getDBO();
    						$sql					=	'SELECT id FROM #__users WHERE username = '. $database->Quote( $user );
    						$database->setQuery( $sql, 0, 2 );
    						$userIds				=	$database->loadResultArray();
    						if ( is_array( $userIds ) && ( count( $userIds ) == 1 ) ) {
    							$user				=	$userIds[0];
    						}
    					}
    					$vars['user']				=	$user;
    				}
    				$vars['task'] = 'userProfile';
    				break;
    
    			case 'userslist':
    				if ( $count > 1 ) {
    					$listid						=	$segments[1];
    					if ( ! is_numeric( $listid ) ) {
    						$database				=&	JFactory::getDBO();
    						$sql					=	'SELECT listid FROM #__cbe_lists WHERE title = '. $database->Quote( $listid ) . ' AND published = 1';
    						$database->setQuery( $sql, 0, 2 );
    						$listIds				=	$database->loadResultArray();
    						if ( is_array( $listIds ) && ( count( $listIds ) == 1 ) ) {
    							$listid				=	$listIds[0];
    						}
    					}
    					$vars['listid']				=	(int) $listid;
    
    					if ( $count > 2 ) {
    						if ( $segments[2] == 'search' ) {
    							$vars['searchmode']	=	1;
    						}
    					}
    				}
    				$vars['task'] = 'usersList';
    				break;
    
    			default:
    				break;
    		}
    	}
    	return $vars;
    }
    
    ?>
  5. Damit kenne ich mich auch nicht aus.

    Aber in SEF-Komponenten von Drittanbieter wie z.B. sh404SEF kan mann cryptische URLs von Hand nach belieben kürzen.

    Vielleicht wäre das was für Dich. Schau Dich aber nach einer Alternative um, weil sh404SEF kostenpflichtig geworden ist.

    VG Tom
  6. Autor dieses Themas

    r*s

    Danke sh404SEF hatte ich schon installiert, weil ich gehofft hatte, dass damit erledigen zu können. Das ist übrigens immer noch kostenlos ;-)
    Aber irgendwie kann ich nur statische Links bearbeiten... Und der Link ändert sich ja dynamisch, gerade welcher User von wem geaddet werden soll...

    //edit: Der Programmierer dieser Datei ändert sie :-)

    Beitrag zuletzt geändert: 24.11.2009 17:37:12 von rms
  7. Vielleicht kannst Du für die Komponente einen eigenen:
    <meta name="robots" content="noindex">
    erstellen.

    Gruß T.
  8. Autor dieses Themas

    r*s

    Wie ich in meinem Edit geschrieben habe, wird die Datei angepasst. Das ist nun geschehen und kann jetzt von
    http://www.mp-vision.de/index.php/news/cbe-news/24-routerphp-fuer-cbe-version-21.html
    heruntergeladen werden.

    Vielen Dank für die Tipps tom-moeller ;-) Aber es ging nicht darum wie die Seite von robots gesehen wird, sondern wie dir URLs eingestellt werden, so dass man mit mod_rewrite arbeiten kann.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!