http://custom.simplemachines.org/mods/index.php?mod=518
Forum /SSI.php
Pesquisar por
require_once($sourcedir . '/QueryString.php');
require_once($sourcedir . '/Subs.php');
Depois Colocar por baixo
require_once($sourcedir . '/Subs-Seo4SMF.php');
Pesquisar por
'new' => !empty($row['isRead']),
'new_from' => $row['new_from'],
'icon' => '<img src="' . $settings[$icon_sources[$row['icon']]] . '/post/' . $row['icon'] . '.gif" align="middle" alt="' . $row['icon'] . '" border="0" />',
);
}
mysql_free_result($request);
Colocar por Baixo
$context['recent_topics']=$posts;
Forum /index.php
Pesquisar por
require_once($sourcedir . '/QueryString.php');
require_once($sourcedir . '/Subs.php');
Aumentar este codigo
require_once($sourcedir . '/Subs-Seo4SMF.php');
Pesquusar por
// Fall through to the board index then...
require_once($sourcedir . '/BoardIndex.php');
header("HTTP/1.0 404 Not Found");
Pesquisar por
'.xml' => array('News.php', 'ShowXmlFeed'),
'seo4smfadmin' => array('Seo4SMFAdmin.php', 'Seo4SMFAdmin'),
'seo4smfadminsave' => array('Seo4SMFAdmin.php', 'Seo4SMFAdminSave'),
'seo4smfadminsavexml' => array('Seo4SMFAdmin.php', 'Seo4SMFAdminSaveXML'),
'seo4smfsitemaps' => array('Seo4SMFSitemaps.php', 'Seo4SMFSitemaps'),
/Sources/BoardIndex.php
Pesquisar por
$this_last_post = array(
'id' => $row_board['ID_MSG'],
'time' => $row_board['posterTime'] > 0 ? timeformat($row_board['posterTime']) : $txt[470],
'timestamp' => forum_time(true, $row_board['posterTime']),
'subject' => $row_board['short_subject'],
Colocar
$this_last_post = array(
'id' => $row_board['ID_MSG'],
'time' => $row_board['posterTime'] > 0 ? timeformat($row_board['posterTime']) : $txt[470],
'timestamp' => forum_time(true, $row_board['posterTime']),
'subject' => $row_board['short_subject'],
'long_subject' => $row_board['subject'],
/Sources/Display.php
Pesquisar por
// Build the link tree.
$context['linktree'][] = array(
'url' => $scripturl . '?topic=' . $topic . '.0',
'name' => $topicinfo['subject'],
'extra_before' => $settings['linktree_inline'] ? $txt[118] . ': ' : ''
);
// Build a list of this board's moderators.
$context['moderators'] = &$board_info['moderators'];
$context['link_moderators'] = array();
Alterar por
// Build the link tree.
$context['linktree'][] = array(
'url' => $scripturl . '?topic=' . $topic . '.0',
'name' => $topicinfo['subject'],
'id' => 't'.$topic,
'extra_before' => $settings['linktree_inline'] ? $txt[118] . ': ' : ''
);
// Build a list of this board's moderators.
$context['moderators'] = &$board_info['moderators'];
$context['board_description'] =$board_info['description'];
$context['board_name'] =$board_info['name'];
$context['link_moderators'] = array();
Pesquisar por
if (empty($options['view_newest_first']))
$counter++;
else
$counter--;
Colocar
if (!isset($context['first_message_body'])) $context['first_message_body']=$message['body'];
if ($context['first_message']==$message['ID_MSG'])
{
$context['seo4smf_usernames']=array();
array_push($context['seo4smf_usernames'],$memberContext[$message['ID_MEMBER']]);
}
else
{
array_push($context['seo4smf_usernames'],$memberContext[$message['ID_MEMBER']]);
}
/Sources/Load.php
Pesquisar por
array_reverse($board_info['parent_boards']),
array(array(
'url' => $scripturl . '?board=' . $board . '.0',
'name' => $board_info['name']
))
Alterar por
array_reverse($board_info['parent_boards']),
array(array(
'url' => $scripturl . '?board=' . $board . '.0',
'name' => $board_info['name'],
'id' => $board_info['id']
))
Pesquisar por
while ($row = mysql_fetch_assoc($result))
{
if (!isset($boards[$row['ID_BOARD']]))
{
$id_parent = $row['ID_PARENT'];
$boards[$row['ID_BOARD']] = array(
'url' => $scripturl . '?board=' . $row['ID_BOARD'] . '.0',
'name' => $row['name'],
Alterar
while ($row = mysql_fetch_assoc($result))
{
if (!isset($boards[$row['ID_BOARD']]))
{
$id_parent = $row['ID_PARENT'];
$boards[$row['ID_BOARD']] = array(
'url' => $scripturl . '?board=' . $row['ID_BOARD'] . '.0',
'name' => $row['name'],
'id' => $row['ID_BOARD'],
/Sources/MessageIndex.php
Pesquisar por
$context['boards'][$row['ID_PARENT']]['last_post'] = array(
'id' => $row['ID_MSG'],
'time' => $row['posterTime'] > 0 ? timeformat($row['posterTime']) : $txt[470],
'timestamp' => forum_time(true, $row['posterTime']),
'subject' => $short_subject,
Alterar por
$context['boards'][$row['ID_PARENT']]['last_post'] = array(
'id' => $row['ID_MSG'],
'time' => $row['posterTime'] > 0 ? timeformat($row['posterTime']) : $txt[470],
'timestamp' => forum_time(true, $row['posterTime']),
'subject' => $short_subject,
'long_subject' => $row['subject'],
Pesquisar por
$context['boards'][$row_board['ID_BOARD']] = array(
'id' => $row_board['ID_BOARD'],
'last_post' => array(
'id' => $row_board['ID_MSG'],
'time' => $row_board['posterTime'] > 0 ? timeformat($row_board['posterTime']) : $txt[470],
'timestamp' => forum_time(true, $row_board['posterTime']),
'subject' => $short_subject,
Alterar por
$context['boards'][$row_board['ID_BOARD']] = array(
'id' => $row_board['ID_BOARD'],
'last_post' => array(
'id' => $row_board['ID_MSG'],
'time' => $row_board['posterTime'] > 0 ? timeformat($row_board['posterTime']) : $txt[470],
'timestamp' => forum_time(true, $row_board['posterTime']),
'subject' => $short_subject,
'long_subject' => $row_board['subject'],
/Sources/QueryString.php
Pesquisar por
if (empty($_COOKIE) && SID != '' && empty($context['browser']['possibly_robot']) && @version_compare(PHP_VERSION, '4.3.0') != -1)
.Alterar por
if (empty($_COOKIE) && SID != '' && empty($context['browser']['possibly_robot']) && @version_compare(PHP_VERSION, '4.3.0') != -1 && ($modSettings['seo4smf_enable']!="on"))
Pesquisar por
// If $scripturl is set to nothing, or the SID is not defined (SSI?) just quit.
if ($scripturl == '' || !defined('SID'))
return $buffer;
Aumentar a linha
$scripturl1=str_replace("/index.php","",$scripturl);
Pesquisar por
else
$buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'", $buffer);
Alterar por
if ($modSettings['seo4smf_sb_enable'] == "on")
{
$buffer = preg_replace('/<!-- Seo4SMF Social Bookmark -->/', create_sb() , $buffer);
}
if ($modSettings['seo4smf_enable'] == "on")
{
$buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic|page)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl1 . '/' . beautify_urls(strtr('\$1', '&;=', '//,')) . '\$2\"'", $buffer);
if ($modSettings['seo4smf_beautify_profiles'] == "on")
{
$buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?action=profile;u=([^#"]+?)?"/e', "'\"' . \$scripturl1 . '/' . beautify_url_profiles(strtr('\$1', '&;=', '//,')) . '\$2\"'", $buffer);
}
if ($modSettings['seo4smf_beautify_actions'] == "on")
{
$buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?action=([^#"]+?)?"/e', "'\"' . \$scripturl1 . '/' . beautify_url_action('\$1'). '\$2\"'", $buffer);
}
if ($modSettings['seo4smf_keywords'] == "on")
{
$buffer = preg_replace('<meta name="keywords" content=(.*) />', create_keywords() , $buffer);
}
if ($modSettings['seo4smf_description'] == "on")
{
$buffer = preg_replace('<meta name="description" content=(.*) />', create_description() , $buffer);
}
$buffer = preg_replace('/<a href=\"http:\/\/www.simplemachines.org\/about\/copyright.php\" title=\"Free Forum Software\" target=\"_blank\">SMF © 2006-2007, Simple Machines LLC<\/a>/', '<a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF © 2006-2007, Simple Machines LLC</a><br /> <a href="http://www.webmasterstalks.com" target="blank_">Seo4Smf v0.2 © Webmaster\'s Talks</a>' , $buffer);
$buffer = preg_replace('/<a href=\"http:\/\/www.simplemachines.org\/about\/copyright.php\" title=\"Free Forum Software\" target=\"_blank\">SMF © 2006, Simple Machines LLC<\/a>/', '<a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF © 2006, Simple Machines LLC</a><br /> <a href="http://www.webmasterstalks.com" target="blank_">Seo4Smf v0.2 © Webmaster\'s Talks</a>' , $buffer);
$buffer = preg_replace('/<a href=\"http:\/\/www.simplemachines.org\/about\/copyright.php\" title=\"Free Forum Software\" target=\"_blank\">SMF © 2001-2006, Lewis Media<\/a>/', '<a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF © 2001-2006, Simple Machines, Lewis Media</a><br /> <a href="http://www.webmasterstalks.com" target="blank_">Seo4Smf v0.2 © Webmaster\'s Talks</a>' , $buffer);
}
else
{
$buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'", $buffer);
}
/Sources/Search.php
Pesquisar por
$output['matches'][] = array(
'id' => $message['ID_MSG'],
'attachment' => loadAttachmentContext($message['ID_MSG']),
'alternate' => $counter % 2,
'member' => &$memberContext[$message['ID_MEMBER']],
'icon' => $message['icon'],
'icon_url' => $settings[$context['icon_sources'][$message['icon']]] . '/post/' . $message['icon'] . '.gif',
'subject' => $message['subject'],
'subject_highlighted' => $subject_highlighted,
'time' => timeformat($message['posterTime']),
'timestamp' => forum_time(true, $message['posterTime']),
'counter' => $counter,
'modified' => array(
'time' => timeformat($message['modifiedTime']),
'timestamp' => forum_time(true, $message['modifiedTime']),
'name' => $message['modifiedName']
),
'body' => $message['body'],
'body_highlighted' => $body_highlighted,
'start' => 'msg' . $message['ID_MSG']
);
Aumentar esta linha
$context['search_results'][]=array('id'=>$message['ID_TOPIC'],'subject'=>$message['subject'],'board_id'=>$message['ID_BOARD'],'board_name'=>$message['bName'],'member_name'=>$memberContext[$message['ID_MEMBER']]['username'],'member_id'=>$message['ID_MEMBER'],'last_member_name'=>$message['last_member_name'],'last_member_id'=>$message['last_member_id']);
/Sources/Subs.php
Pesquisar por
'manage_themes' => '<a href="' . $scripturl . '?action=theme;sa=admin;sesc=' . $sc . '">' . $txt['theme_admin'] . '</a>',
Alterar por
'seo4smfadmin' => '<a href="' . $scripturl . '?action=seo4smfadmin;sesc=' . $sc . '">Seo4SMF Admin</a>',
Se tiver com TinyPortal Instalado
/Sources/TPortal.php
Pesquisar por
$request = db_query("
SELECT
m.icon, m.subject, m.body, IFNULL(mem.realName, m.posterName) AS posterName, m.posterTime,
t.numReplies, t.ID_TOPIC, m.ID_MEMBER, m.smileysEnabled, m.ID_MSG, t.locked, t.numViews,t.numReplies
FROM ({$db_prefix}topics AS t, {$db_prefix}messages AS m)
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
WHERE t.ID_FIRST_MSG IN (" . implode(', ', $posts) . ")
AND m.ID_MSG = t.ID_FIRST_MSG
ORDER BY t.ID_FIRST_MSG DESC
LIMIT " . count($posts), __FILE__, __LINE__);
Alterar colocar
$request = db_query("
SELECT
m.icon, m.subject, m.body, IFNULL(mem.realName, m.posterName) AS posterName, m.posterTime,
t.numReplies, t.ID_TOPIC, m.ID_MEMBER, m.smileysEnabled, m.ID_MSG, t.locked, t.numViews,t.numReplies, board.name
FROM ({$db_prefix}topics AS t, {$db_prefix}messages AS m)
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
LEFT JOIN {$db_prefix}boards AS board ON (board.ID_BOARD = m.ID_BOARD)
WHERE t.ID_FIRST_MSG IN (" . implode(', ', $posts) . ")
AND m.ID_MSG = t.ID_FIRST_MSG
ORDER BY t.ID_FIRST_MSG DESC
LIMIT " . count($posts), __FILE__, __LINE__);
Pesquisar por
$return[] = array(
'id' => $row['ID_TOPIC'],
'message_id' => $row['ID_MSG'],
'icon' => '<img src="' . $settings[$icon_sources[$row['icon']]] . '/post/' . $row['icon'] . '.gif" align="middle" alt="' . $row['icon'] . '" border="0" />',
'subject' => $row['subject'],
'time' => timeformat($row['posterTime']),
'timestamp' => forum_time(true, $row['posterTime']),
Alterar por
$return[] = array(
'id' => $row['ID_TOPIC'],
'message_id' => $row['ID_MSG'],
'board_name' => $row['name'],
'icon' => '<img src="' . $settings[$icon_sources[$row['icon']]] . '/post/' . $row['icon'] . '.gif" align="middle" alt="' . $row['icon'] . '" border="0" />',
'subject' => $row['subject'],
'time' => timeformat($row['posterTime']),
'timestamp' => forum_time(true, $row['posterTime']),
Pesquisar por
if (in_array($context['TPortal']['action'], array('theme','tpadmin','admin', 'ban', 'boardrecount', 'cleanperms', 'detailedversion', 'dumpdb', 'featuresettings', 'featuresettings2', 'findmember', 'maintain', 'manageattachments', 'manageboards', 'managecalendar', 'managesearch', 'membergroups', 'modlog', 'news', 'optimizetables', 'packageget', 'packages', 'permissions', 'pgdownload', 'postsettings', 'regcenter', 'repairboards', 'reports', 'serversettings', 'serversettings2', 'smileys', 'viewErrorLog', 'viewmembers')))
alterar por
if (in_array($context['TPortal']['action'], array('theme','tpadmin','admin', 'ban', 'boardrecount', 'cleanperms', 'detailedversion', 'dumpdb', 'featuresettings', 'featuresettings2', 'findmember', 'maintain', 'manageattachments', 'manageboards', 'managecalendar', 'managesearch', 'membergroups', 'modlog', 'news', 'optimizetables', 'packageget', 'packages', 'permissions', 'pgdownload', 'postsettings', 'regcenter', 'repairboards', 'reports', 'serversettings', 'serversettings2', 'smileys', 'viewErrorLog', 'viewmembers','seo4smfadmin')))
/Themes/default/Display.template.php
Pesquisar por
// Show the member's signature?
if (!empty($message['member']['signature']) && empty($options['show_no_signatures']))
Aumentar a
if ($context['first_message']==$message['id'])
{
echo '<!-- Seo4SMF Social Bookmark -->';
}
/Themes/default/Index.template.php
Pesquisar por
<title>', $context['page_title'], '</title>';
Alterar por
<title>', create_title(), '</title>';
/Themes/default/BoardIndex.template.php
Pesquisar por
// "Users online" - in order of activity.
Aumentar este código
if ($modSettings['seo4smf_sitemaps_box']=="on")
{
if ($modSettings['seo4smf_sitemaps_links']!=0)
$how_many_links_per_page=$modSettings['seo4smf_sitemaps_links'];
else
$how_many_links_per_page=100;
echo '
<tr>
<td class="titlebg" colspan="2"> Sitemaps </td>
</tr><tr>
<td class="windowbg" width="20" valign="middle" align="center">
<img src="', $settings['images_url'], '/icons/online.gif" alt="Sitemaps" border="0" />
</td>
<td class="windowbg2" width="100%">
<div class="smalltext">';
echo'<a href="sitemaps-home.html">Start</a> ';
for($i=0; $i<$modSettings['totalTopics']/$how_many_links_per_page; $i++)
{
echo'<a href="sitemaps-',$i,'.html">Page', $i ,'</a> ';
if (!($i%13) && ($i!=0)) echo "<br />";
}
echo'<br />';
echo '
</div>
</td>
</tr>';
}
/Sources/News.php
Pesquisar por
if (empty($modSettings['queryless_urls']) || ($context['server']['is_cgi'] && @ini_get('cgi.fix_pathinfo') == 0) || !$context['server']['is_apache'])
return $val;
Aumentar a Linha
if ($modSettings['seo4smf_enable']=="on")
{
$scripturl1=str_replace("/index.php","",$scripturl);
$val = preg_replace('/^' . preg_quote($scripturl, '/') . '\?((?:board|topic|page)=[^#"]+)(#[^"]*)?$/e', "'' . \$scripturl1 . '/' . beautify_urls(strtr('\$1', '&;=', '//,')) . '\$2'", $val);
if ($modSettings['seo4smf_beautify_profiles']=="on")
{
$val = preg_replace('/^' . preg_quote($scripturl, '/') . '\?action=profile;u=([^#"]+?)?$/e', "'' . \$scripturl1 . '/' . beautify_url_profiles(strtr('\$1', '&;=', '//,')) . '\$2'", $val);
}
}
else
Duvidas e mais colocar aqui ...
candido para que serve esse SEO4? seria para uma melhor idexação do forum smf?
isso mesmo acertou na palavra certa
Então quer dizer que vale apena arriscar fazer esse mod manualmente, ajudara mais na indexação? se precisar de ajuda com algo poderia me ajudar pois é grande, o ultimo que fiz assim foi self urls e depois nem adiantou muito pois meu Host é windows e o mod serve só para Linux
depois de instalar e tiver este erro
[warning]The requested URL /admin.html was not found on this server.[/warning]
tera que entrar por ftp no forum e no
Citação.htaccess
Colocar este codigo que resolver isso sem problemas
RewriteEngine on
#Some apache servers need Rewritebase.
#delete # from start of Rewrite base to enable it.
#If your forum is something like http://www.forum-example.com/forum then modify your
#RewriteBase in this way: RewriteBase /forum
RewriteBase /
#Archive/Sitemaps
RewriteRule ^sitemaps-([a-zA-Z0-9-]*)\.html index.php?dummy=1&action=seo4smfsitemaps&sa=$1 [L]
#uncomment if you use beautifying url actions
RewriteCond %{REQUEST_METHOD} =GET
RewriteCond %{QUERY_STRING} ^action=(.*)$
RewriteRule ^(.*)$ seo4smf-redirect.php?a=%1 [R=301,L]
RewriteCond %{QUERY_STRING} ^topic=([0-9]*)$
RewriteRule ^(.*)$ seo4smf-redirect.php?t=%1 [R=301,L]
RewriteCond %{QUERY_STRING} ^topic=([0-9]*).([0-9]*)
RewriteRule ^(.*)$ seo4smf-redirect.php?t=%1 [R=301,L]
RewriteCond %{QUERY_STRING} ^board=([0-9]*).([0-9]*)
RewriteRule ^(.*)$ seo4smf-redirect.php?b=%1 [R=301,L]
RewriteCond %{QUERY_STRING} ^action=profile;u=([0-9]*);(.*)$
RewriteRule ^(.*)$ seo4smf-redirect.php?u=%1;param=%2 [R=301,L]
RewriteCond %{QUERY_STRING} ^action=profile;u=([0-9]*)
RewriteRule ^(.*)$ seo4smf-redirect.php?u=%1 [R=301,L]
#Tiny Portal Old Url's
RewriteCond %{QUERY_STRING} ^page=([0-9]*)
RewriteRule ^(.*)$ seo4smf-redirect.php?p=%1 [R=301,L]
#Rewrite Old urls
RewriteRule ^index.php/board,(.*).html seo4smf-redirect.php?b=$1 [R=301,L]
RewriteRule ^index.php/board,(.*).html;(.*) seo4smf-redirect.php?b=$1&o=$2 [R=301,L]
RewriteRule ^index.php/topic,(.*).html seo4smf-redirect.php?t=$1 [R=301,L]
RewriteRule ^index.php/topic,(.*).html;(.*) seo4smf-redirect.php?t=$1&o=$2 [R=301,L]
#Bad Url's
RewriteCond %{REQUEST_URI} ^(.*)\.html$
RewriteCond %{REQUEST_URI} !^(.+)/(.*)-t([0-9]*)\.([0-9]*).html$
RewriteRule ^(.*)-t([0-9]*)\.([0-9]*)\.html seo4smf-redirect.php?t=$2 [R=301,L]
RewriteRule ^(.*)/-t(.*).html seo4smf-redirect.php?t=$2 [R=301,L]
RewriteRule ^-b(.*)/$ seo4smf-redirect.php?b=$1 [R=301,L]
RewriteRule ^-b(.*)/(.*)$ seo4smf-redirect.php?b=$1 [R=301,L]
RewriteRule ^(.*)/-b(.*)/$ seo4smf-redirect.php?b=$2 [R=301,L]
#New board URL's
RewriteRule ^(.*)-b([0-9]*)\.([0-9]*)/;(.*) index.php?dummy=1&board=$2.$3&$4 [L]
RewriteRule ^(.*)-b([0-9]*)\.([0-9]*)/$ index.php?dummy=2&board=$2.$3 [L]
RewriteRule ^(.*)-b([0-9]*)\.([0-9])$ index.php?dummy=2&board=$2.$3 [L]
#New topic URL's
RewriteRule ^(.*)-t([0-9]*)\.([0-9]*)\.html;((\?:from|msg|new)[0-9]*);(.*)$ index.php?dummy=1&topic=$2.$4&$6 [L]
RewriteRule ^(.*)-t([0-9]*)\.([0-9]*)\.html;((\?:from|msg|new)[0-9]*) index.php?dummy=1&topic=$2.$4 [L]
RewriteRule ^(.*)-t([0-9]*)\.([0-9]*)\.html;(.*)$ index.php?dummy=1&topic=$2.$3&$4 [L]
RewriteRule ^(.*)-t([0-9]*)\.([0-9]*)\.html$ index.php?dummy=1&topic=$2.$3 [L]
#New profiles URL's
RewriteRule ^(.*)-u([0-9]*)\.html;sa,(.*);start,([0-9]*);delete,([0-9]*);sesc,([a-z0-9]*)$ index.php?dummy=1&action=profile;u=$2;sa=$3;start=$4;delete=$5;sesc=$6 [L]
RewriteRule ^(.*)-u([0-9]*)\.html;sa,(.*);start,([0-9]*)$ index.php?dummy=1&action=profile;u=$2;sa=$3;start=$4 [L]
RewriteRule ^(.*)-u([0-9]*)\.html;sa,(.*)$ index.php?dummy=1&action=profile;u=$2;sa=$3 [L]
RewriteRule ^(.*)-u([0-9]*)\.html index.php?dummy=1&action=profile;u=$2 [L]
#New Tinyportal Articles URL's
RewriteRule ^(.*)-p([0-9]*)\.html index.php?dummy=1&page=$2 [L]
#New action Url's - uncomment if you use beautifying url actions
RewriteRule ^(.*)\.html(.*)$ index.php?dummy=1;action=$1;$2 [L]
RewriteRule ^(.*)\.html$ index.php?dummy=1;action=$1 [L]
#Sitemaps
RewriteRule sitemap.xml sitemaps.php [L]
RewriteRule urllist.txt urllist.php [L]
No anexo tem o mod actualizado