我可以创建一个唯一的网址http://site.com/pod.php?id=20
通过php和htaccess尝试不同的方法来重写URL时,我遇到了404错误。
我在数据库中有不同的字段,我想用它来构建URL并使其对SEO友好。这些字段将是名称,位置和类别。该网址应与此http://site.com/name/location
我真正想问的是如何实现这一目标?例子很棒。
我在下面使用的文件:
content.php的一部分
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "<div class=\"pods\">";
echo "<a href=\"/pod.php?id={$row['id']}\">";
echo "<div class=\"podHeading\">";
echo "{$row['heading']}</a> <br> ";
echo "</div>";
echo "<div class=\"podImage\">";
echo "<img src=\"images/{$row['imageName']}\">";
echo "</div>";
$string = "{$row['text']}";
if(strlen(htmlspecialchars_decode($string)) > 100) {
echo substr(htmlspecialchars_decode($string), 0, 100).'...'.$hyperlink;}
else {
echo htmlspecialchars_decode($string);
}
pod.php:
<?php
$connect = mysql_connect('x', 'x', 'x');
$select_db = mysql_select_db('x');
$id = mysql_real_escape_string($_GET['id']);
$query = 'SELECT * FROM podContent WHERE id = '.$id.' LIMIT 1';
$result = mysql_query($query);
$row = mysql_fetch_array($result);
// Echo page content
echo "<div class=\"podPageContainer\">";
echo "<div class=\"podPageContent\">";
echo "<div class=\"podPageHeading\">";
echo $row['heading'];
echo "</div>\n";
echo "<br/>";
echo $row['text'];
echo "</div>\n";
echo "</div>\n";
echo "<div class=\"pageSidebar\">";
include('ads/sidebarAds.php');
echo "</div>\n";
?>
的.htaccess
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.site.com/$1 [R=301,L]
Options +FollowSymlinks
RewriteEngine On
非常感谢任何帮助,谢谢!
答案 0 :(得分:0)
你需要的是为你提供的htaccess
将你的rewriteRule改为此
^ [a-zA-Z0-9 -_] / [a-zA-Z0-9 -_] $ http://www.site.com/index.php?name= $ 1&amp; location = $ 2
所以你可以通过$ _Get方法获取名称和位置