Getting 500 error on searching in website MODX revolution.
Browser is throwing this error
The www.excavatorparts.org page isn’t working
www.excavatorparts.org is currently unable to handle this request.
HTTP ERROR 500
Also getting this error when cache is cleared
Resource URI categories/pins-and-bushes/69431-72130/ already exists for resource id = 136; skipping duplicate resource URI for resource id = 2063
Resource URI categories/pins-and-bushes/69741-71910/ already exists for resource id = 137; skipping duplicate resource URI for resource id = 2064
Resource URI categories/pins-and-bushes/69741-41120/ already exists for resource id = 1084; skipping duplicate resource URI for resource id = 2066
Resource URI categories/pins-and-bushes/69741-41130/ already exists for resource id = 1085; skipping duplicate resource URI for resource id = 2067
Resource URI categories/pins-and-bushes/pw12b01209p2/ already exists for resource id = 1867; skipping duplicate resource URI for resource id = 2070
Resource URI categories/pins-and-bushes/4332740/ already exists for resource id = 2059; skipping duplicate resource URI for resource id = 2106
Resource URI categories/pins-and-bushes/8522-030021/ already exists for resource id = 2100; skipping duplicate resource URI for resource id = 2111
Resource URI categories/pins-and-bushes/00021-00009/ already exists for resource id = 2097;
Due to this It has increased server load .
Here is file of code for search snippet
<?php
// Declarations
if($_POST['search-part'] <> '') { $searchpart = $_POST['search-part']; } else { $searchpart = ''; }
if($_POST['search-machine'] <> '') { $searchmachine = $_POST['search-machine']; } else { $searchmachine = ''; }
$rows = array();
$HTML = '';
$count = 0;
$FoundHead = '';
// MySQL Query
$result = $modx->query("SELECT id, pagetitle, uri FROM modx_site_content WHERE parent = 21 OR parent = 23 OR parent = 24 OR parent = 25 OR parent = 26 OR parent = 27 OR parent = 28 OR parent = 29 OR parent = 30 OR parent = 31 OR parent = 32 OR parent = 33 OR parent = 34 OR parent = 35");
// if we have any results
if ($result) {
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
array_push($rows, $row);
}
}
$HTML .= '<div class="result-contianer">';
foreach($rows AS $key => $value)
{
$id = $value['id'];
$pagetitle = $value['pagetitle'];
$uri = $value['uri'];
$rec = $modx->getObject('modResource', $id);
$machine = $rec->getTVValue('machine');
$partnumber = $rec->getTVValue('part-number');
if($machine == $searchmachine || $partnumber == $searchpart)
{
if($count == 0)
{
$FoundHead = '<h2>Search <span class="pn">Results</span> Found</h2>';
$count++;
}
}
if($machine == $searchmachine)
{
$HTML .= '<a href="'.$uri.'"><div class="result">';
$HTML .= '<i class="fa fa-angle-right"></i> '.$pagetitle.' (#'.$partnumber.')';
$HTML .= '</div></a>';
}
else if($partnumber == $searchpart)
{
$HTML .= '<a href="'.$uri.'"><div class="result">';
$HTML .= '<i class="fa fa-angle-right"></i> '.$pagetitle.' ('.$machine.')';
$HTML .= '</div></a>';
}
else
{
// No match on the queries
}
}
$HTML .= '</div>';
echo $FoundHead;
echo $HTML;