试图创建友好的URL但失败了吗?

时间:2013-03-05 20:09:41

标签: php .htaccess mod-rewrite friendly-url seo

我可以创建一个唯一的网址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

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

1 个答案:

答案 0 :(得分:0)

你需要的是为你提供的htaccess

将你的rewriteRule改为此

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

所以你可以通过$ _Get方法获取名称和位置