1

我目前每人有 4 页(关于、采访、询问、联系方式),我有 250 多人,并且需要很长时间才能在网站上创建新人

什么是只有 4 个页面(关于、采访、询问 aq、联系)循环通过数据库人员并在用户请求时动态创建他们的页面的最佳方式?

这是网站上的一个人的例子http://starsQA.com/aaron-cole

我正在考虑使用数据库中的 $_GET 变量并使用 .htaccess 重写更改 url,但我不知道如何执行此操作,或者是否有可能

网站使用 html、php、mysql 和 oop

实现这一目标的最佳方法是什么?

我已经添加了这个:

<?php session_start();
error_reporting(E_ALL ^ E_NOTICE);
include("db_conn.php");
$qry_string = "select * from stars INNER JOIN roles ON roles.starID = stars.starID where stars.starID = ?";
$prep = $pdo_conn->prepare($qry_string);  
$prep->execute(array($_GET['id']));
$result = $prep->fetch(PDO::FETCH_ASSOC);
$pieces = explode(" ", $result['starName']);
$gender = "him"; 
?> 

现在如果你使用http://www.starsqa.com/about?id=52你可以 aaron cole 和 id=6 lindsey mckeon

如何弄清楚如何将网址更改为http://www.starsqa.com/about?id=52http://starsQA.com/aaron-cole-about

试过这个,但我似乎没有工作:将用户从 starsQA.com/aaron-cole-about 发送到 starsQA.com/about?id=52) :

 RewriteCond %{QUERY_STRING} ^$
 RewriteRule ^/aaron-cole-about$ /about?id=52 [L]

这是我当前的 .htaccess 文件

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !\.php$
RewriteRule ^(.*)$ $1.php [L,QSA]

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/aaron-cole-about$ /about?id=52 [L]

用户是否有可能进入 aaron-cole-about 并在幕后使用 about?id=52 但仍显示用户 aaron-cole-about ???

4

1 回答 1

1

即使它不能被称为严格的重复,这个答案是否可以帮助您获得一个想法。

如何为mysql数据库中的每一行创建一个唯一的php页面

两个答案一起将允许您创建所有页面。虽然每条记录需要四页,但循环浏览它们应该没有太大区别。

然后规则类似于下面的规则

RewriteRule ^about/([^/]+)_([^?/]+).html /about.php?personid=$2

第一部分 ^about 说明任何带有 url http://yoursite.com/about/的内容都应使用此规则。在像http://yoursite.com/about/xxxx_1234.html这样的网址中,第一部分 ([^/]+) 和 ([^?/]+) 表示它将实际网址拆分为 xxxx 1234 和 html那么规则会将用户重定向到 about.php?personid=1234

这两者的结合应该适合你。希望这可以帮助

于 2013-08-09T02:14:11.727 回答