我在此页面上运行了 Google 的 PageSpeed 工具: http ://classifieds.your-adrenaline-fix.com/detail.php?fatherID=10&ListingID=7&TypeID=42
结果表明我应该指定一个缓存验证器——一个 Last-Modified 或 ETag 标头。
我已彻底阅读: https ://developers.google.com/speed/docs/best-practices/caching#LeverageProxyCaching
但我不知道该怎么办。
我确实知道我遇到的问题(通过谷歌的 PageSpeed 工具出现)源于以下显示谷歌地图的代码,但这段代码是这里有人帮助我的代码。(即使我还没有学到任何关于 PDO 的知识并且并不真正理解代码)
我希望有人可以查看下面提供的代码,让我知道所有看起来都是正确的,并与我分享如何指定缓存验证器以根据 Google 的 Page Speed 建议改进页面。
任何帮助都将不胜感激,我提前感谢大家。
斯图尔特 K
编辑:此外,我在 .htaccess 中有以下代码:(以下是地图代码)
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 year"
# Favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
# CSS
ExpiresByType text/css "access 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
$TypeID = isset($_GET['TypeID']) ? $_GET['TypeID'] : '';
$ListingID = isset($_GET['ListingID']) ? $_GET['ListingID'] : '';
$allowed_tables = array('tt_42', 'tt_43');//Array of allowed tables to sanatise query
//Define table name
$table ="tt_".$TypeID;
//Connect to database
$dbh = new PDO("mysql:host=$host;dbname=$db", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
//Check if table name is in allowed list
if (in_array($table, $allowed_tables)) {
//Prepare query
$query = "SELECT * FROM `$table` WHERE `ID` = ? AND `ExpireDate` > NOW()";
}//end if
// Prepare statement
$stmt = $dbh->prepare($query);
// Assign parameter
$stmt->bindParam(1,$ListingID);
//Execute query
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();
//New code
$Address = $listing['Address'];
$City = $listing['City'];
$State = $listing['State/Province'];
$Zip = $listing['Zip/Postal'];
$Country = $listing['Country'];
//End new code
echo '<h2>Map of Surrounding Area With Navigational Aides</h2>';
echo '<div class="CalloutBoxBlue">Hover over map and scroll, or use + and - in LH corner of map to zoom or expand viewing area. Alternatively, hold down mouse to manually move the map to a different geographical location, or drag the person icon to a specific location on the map for a street view.</div>';
echo '<div id="GoogleMap">';
//New code
echo '<iframe scrolling="no" style="width:480px; height:300px; border:0px;" frameborder="0" src="googlemap.php?Address='.$Address.'&City='.$City.'&State='.$State.'&Zip='.$Zip.'&Country='.$Country.'"></iframe>';
//End new code
echo '</div>';
}//End try
catch(PDOException $e) {
echo "I'm sorry I'm afraid you can't do that.". $e->getMessage() ;// Remove or modify after testing
file_put_contents('PDOErrors.txt',date('[Y-m-d H:i:s]').", mapSelect.php, ". $e->getMessage()."\r\n", FILE_APPEND);
}
}