Foros Joomla! Spanish

Zona técnica, debate y cooperación sobre Joomla!

Zonas Joomla! Spanish

Portal Joomla! Spansih
Portal Joomla! Spansih NoticiasComunidad JSZona de Extensiones

Estar informado de J!S

Boletines JS
Sigue el proyecto desde joomlacode
Joomla! Spanish 1.5.26 liberada

Sigue el proyecto desde joomlacode de la 3.0
Joomla! Spanish 3.1.0 liberada

Sigue el proyecto desde joomlacode de la 2.5
Joomla! Spanish 2.5.11 Liberada

Estadistícas del foro

  • Miembros en el foro: 396,919
  • Total Temas: 83,762
  • Total Mensajes: 3
Hay 233 usuarios actualmente navegando en los foros.

Colaboradores Gold

Soporte Publicitario



Like Tree1Apoyos
  • 1 Escrito por Juan W

 
Antiguo 11-08-2006, 05:14 PM   #1
Banned
 
Avatar de gustavo
 
Fecha de Ingreso: Nov 2005
Ubicación: Bahía Blanca - Argentina
Mensajes: 1,680
gustavo is a splendid one to beholdgustavo is a splendid one to beholdgustavo is a splendid one to beholdgustavo is a splendid one to beholdgustavo is a splendid one to beholdgustavo is a splendid one to beholdgustavo is a splendid one to behold
Enviar un mensaje por MSN a gustavo Enviar un mensaje por Skype™ a gustavo
Predeterminado [Completado] [Texto: Search Engine Friendly URLs (SEF) by Saka]

SEF is for Apache only. It is using mod_rewrite for pointing server to the right file whilst all logic is in PHP. There are only 3 lines in .htaccess for mod_rewrite directions.

To turn SEF support ON:
1) You must run Apache
2) You must have mod_rewrite enabled
3) Your server must allow .htaccess override
4) Set $mosConfig_sef= "1" in configuration.php
5) Rename htaccess.txt to .htaccess

You will notice that sections/content/items have nice URLs like:
http://www.site.com/content/view/5/2/
and components have URLs like:
http://www.site.com/component/option...tact/Itemid,3/

Troubleshooting
If you experience problems with SEF, please make sure you triple-checked these troubleshooting steps:
1) You must run Apache
To check this go to administration > System > System Info. Server type should be listed next to Web Server. SEF will not run on IIS, so don't bother trying.
2) You must have mod_rewrite enabled
To check this go to administration > System > System Info. Click on PHP Information tab. Scroll down until you find Loaded Modules row. mod_rewrite should be listed here. If it's not ask your web host to activate mod_rewrite.
3) Your server must allow .htaccess override
To check this delete everything from your .htaccess file and write a simple command here, for example:
Código:

Código:
Redirect /google.html http://www.google.com
Now point your browser to http://www.yoursite.com/google.html
If it redirects you to Google.com then you are OK.
4) Set $mosConfig_sef= "1" in configuration.php
You can also activate SEF under Site > Global Configuration.
5) Rename htaccess.txt to .htaccess
This can be done with a FTP program. Note the dot in the beginning! Also note that you can't do this on windows, you must rename it directly on server.

Information for component developers:
What you have to do in order to SEF enable your CMTs (Components/Modules/Templates):
You must convert all links in CMTs to SEF links. This is done with a function called sefRelToAbs().

Example:
Before you had link or form pointing to:
index.php?option=com_contact&Itemid=$Itemid
Now you just do this:
echo sefRelToAbs("index.php?option=com_contact&Itemid=$ Itemid");

This will transform this relative URL to link like:
http://www.domain.com/component/opti...tact/Itemid,3/
Now mod_rewrite will point Apache to index.php and sef.php will do the back-transforming magic.
This function will just return the same link if SEF are disabled so it's safe to code your CMTs with it from now on.

Note that SEF is turned OFF by default and no changes in any way are needed if you are running the CMS the old way, without SEF.

Please make sure that you have right settings before posting that it doesn't work. I will be deleting all comments from people that haven't checked above 5 steps. So: check your php-info and make sure you run Apache and mod_rewrite module is loaded. Make sure you renamed htaccess.txt to .htaccess and that you turned SEF on in configuration.php.
gustavo no está en línea  
Antiguo 31-08-2006, 11:38 AM   #2
Usuario de Joomla
 
Avatar de Juan W
 
Fecha de Ingreso: Feb 2006
Mensajes: 107
Juan W is on a distinguished road
Predeterminado

Me lo quedo.

Lo entrego en un "pis pas", es decir lo antes posible.
Abogados me gusta esto.
Juan W no está en línea  
Antiguo 31-08-2006, 01:28 PM   #3
Usuario de Joomla
 
Avatar de Juan W
 
Fecha de Ingreso: Feb 2006
Mensajes: 107
Juan W is on a distinguished road
Predeterminado Para corrección

Aquí lo dejo para su corrección.
Disculpen mi falta de conocimiento en palabras técnicas.



SEF es sólo para Apache. Usa el mod_rewrite para dirigir al servidor al archive correcto aunque todo esté en PHP. Sólo hay 3 lineas en .htaccess para la administración del mod_rewrite.

Para poner el soporte SEF en ON:
1) Debes funcionar con Apache
2) Debes tener el mod_rewrite habilitado
3) Tu servidor debe permitir “override” en el .htaccess
4) Ajusta $mosConfig_sef= "1" en configuration.php
5) Renombra htaccess.txt a .htaccess

Notarás que las secciones/contenidos/artículos tienen URLs más bonitas como:
http://www.site.com/content/view/5/2/
y los components tienen URLs como esta:
http://www.site.com/component/option...tact/Itemid,3/

Localizando los problemas:
Si experiementas problemas con SEF, por favor asegurate de haber revisado estos tres pasos:
1) Debes correr bajo Apache. Para comprobar esto ve a administración> Sistema > Sistema Info. El tipo de servidor debe estar mostrado junto a Web Server. SEF no funcionará en ISS, así que no te molestes en intentarlo.
2) Debes tener el mod_rewrite habilitado. Para comprobar esto ve a administración > Sistema > Sistema Info. Haz clic en la lengueta PHP Info. Desplázate hacia abajo hasta encontar la columna Loaded Modules. mod_rewrite debería mostrarse aquí. Si no es así, habla con tu hosting para activar el mod_rewrite.
3) Tu servidor debe permitir “override” en el .htaccess. Para comprobar esto, borra todo de archivo .htaccess y escribe ahí un comando simple, por ejemplo:

Código:
Redirect /google.html http://www.google.com

Ahora dirige tu buscador a http://www.yoursite.com/google.html
Si se dirige a Google.com entonces va bien.

4) Ajusta $mosConfig_sef= "1" en configuration.php
También puedes activar SEF en Sitio > Configuración Global.
5) Renombra htaccess.txt a .htaccess
Esto lo puedes hacer con el programa FTP. Fíjate en el punto al comienzo! También fíjate que no puedes hacer esto en Windows, debes renombrarlo directamente en el servidor.

Información para desarrolladores de componentes:
Lo que tienen que hacer para habilitar SEF en sus CMTs (Componentes/Módulos/Templates):
Deben convertir todos los enlaces de los CMTs en enlaces SEF. Esto se hace con una función llamada sefRelToAbs().

Ejemplo:
Antes tenías un enlace o un formulario apuntando a:
index.php?option=com_contact&Itemid=$Itemid
Ahora solo haz esto:
echo sefRelToAbs("index.php?option=com_contact&Itemid=$ Itemid");

Esto transformará está URL relativa en un enlace como: http://www.domain.com/component/opti...tact/Itemid,3/
Ahora mod_rewrite dirigirá a Apache al index.php y sef.php hará la transformación mágica.
Esta function solamente devolverá el mismo enlace si SEF está deshabilitado, así que es seguro codificar tus CMTs con ello de aquí en adelante

Fíjate que SEF está predeterminado en OFF y no es necesario ningún cambio si estás usando CMS muy antiguo, sin SEF.

Please make sure that you have right settings before posting that it doesn't work. I will be deleting all comments from people that haven't checked above 5 steps. So: check your php-info and make sure you run Apache and mod_rewrite module is loaded. Make sure you renamed htaccess.txt to .htaccess and that you turned SEF on in configuration.php.
Juan W no está en línea  


 

Marcadores

Herramientas
Desplegado

Permisos de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Códigos BB están Activo
Los Emoticonos están Activo
Código [IMG] está Activo
Código HTML está Inactivo
Trackbacks are Activo
Pingbacks are Activo
Refbacks are Activo