Coucou donc voilà mon site est fonctionnel en ligne et tout et tout
j’ai juste un souci avec aliases virtual qui ne fonctionne pas.
donc dans mes alias je met /monsite.php ou /monsite ou monsite.php ou même encore monsite pour pointer surs la nouvelle adresse /dossier/monsite.php mais toute mes tentative on été vaines donc au final voissi ce que j’ai fait je vais dans plugin j’en creer un nouveau avec le code donné
//<?php
// Virtual Aliases
// version 0.0.1
// Allows for an unlimited number of custom aliases per page.
// By Brian Stanback @ www.stanback.net
// On Install: Check the the "OnPageNotFound" box in the System Events tab.
// Plugin configuration: &aliasesTV=Aliases TV name;string;Aliases
// For overriding documents, create a new template variabe (TV) named
// Aliases with the following option:
// Input Type: Textarea (Smaller)
//
// Aliases should be added to the TV, one per line.
// Omit any leading or trailing slashes as well as the default suffix (usaully .html)
// Begin plugin code
$e = &$modx->event;
if ($e->name == "OnPageNotFound")
{
// Retrieve requested path + alias
$documentAlias = $modx->documentIdentifier;
$documentAlias = ($modx->virtualDir == "") ? $documentAlias : $modx->virtualDir . '/' . $documentAlias;
// Search TVs for potential alias matches
$sql = "SELECT tvc.contentid as id, tvc.value as value FROM " . $modx->getFullTableName('site_tmplvars') . " tv ";
$sql .= "INNER JOIN " . $modx->getFullTableName('site_tmplvar_templates') . " tvtpl ON tvtpl.tmplvarid = tv.id ";
$sql .= "LEFT JOIN " . $modx->getFullTableName('site_tmplvar_contentvalues') . " tvc ON tvc.tmplvarid = tv.id ";
$sql .= "LEFT JOIN " . $modx->getFullTableName('site_content') . " sc ON sc.id = tvc.contentid ";
$sql .= "WHERE sc.published = 1 AND tvtpl.templateid = sc.template AND tv.name = '$aliasesTV' AND tvc.value LIKE '%" . $modx->db->escape($documentAlias) . "%'";
$results = $modx->dbQuery($sql);
// Attempt to find an exact match
$found = 0;
while ($found == 0 && $row = $modx->db->getRow($results))
{
$pageAliases = explode("\n", $row["value"]);
while ($found == 0 && $alias = each($pageAliases))
{
if (trim($alias[1]) == $documentAlias) // Check for a match
$found = $row["id"];
}
}
if ($found) // Redirect to new document, if an alias was found
{
$pageUrl = $modx->makeUrl($found, '', '', "full");
$modx->sendRedirect($pageUrl, 0, "REDIRECT_HEADER", "301"); // Send a permanent redirect
exit(0);
}
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
}
puis réglage du plugin je met
&aliasesTV=Aliases TV name;string;Aliases
et enfin je coche OnPageNotFound et alias tv name Aliases
je crée ensuite un tv avec comme nom Aliases et type d’enetré textaréa (mini) et dans mon document je met aliases a /monsite.php ou /monsite ou monsite.php ou même encore monsite
voilà en vous remerciant bonne soirée et bon fin de week-end