Komponenten von SEO-URLs ausnehmen in Joomla
lima-city → Forum → Die eigene Homepage → Homepage Allgemein
array
beat
belieben
break
code
datei
drittanbieter
erledigen
http
index
komponente
korrekt funktionieren
option
problem
router
segment
switch
umweg
url
vision
-
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? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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. -
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; } ?>
-
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 -
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 -
Vielleicht kannst Du für die Komponente einen eigenen:
erstellen.<meta name="robots" content="noindex">
Gruß T. -
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. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage