0

我能够创建一个唯一的 URLhttp://site.com/pod.php?id=20

通过 php 和 htaccess 尝试不同的方法来重写 URL 时,我遇到了 404 错误。

我在数据库中有不同的字段,我想使用这些字段来构建 URL 并使其对 SEO 友好。这些字段将是名称、位置和类别。URL应该是这样的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);
}

豆荚.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

非常感谢任何帮助,谢谢!

4

1 回答 1

0

你需要的是对你的htaccess

将您的 rewriteRule 更改为此

^[a-zA-Z0-9-_]/[a-zA-Z0-9-_]$ http://www.site.com/index.php?name= $1&location=$2

因此您可以通过 $_Get 方法获取名称和位置

于 2013-03-05T20:29:18.403 回答