我有大量的内容存储在MySQL数据库中,它为我的应用程序提供支持。我想在线提供这些信息,为非应用用户提供内容,并提高我的网站排名。
应用程序的后端在PHP / MySQL上运行。因此,我想使用PHP来生成这些页面(这是正确的方法吗?)。我猜PHP会采用url的结构,例如{**}} ** **中的部分是可变的。如何让PHP根据这些来路由请求?
答案 0 :(得分:1)
可能最好和最有效的方法是在Apache中使用URL重写。将以下代码添加到根文件夹中的.htaccess
文件(如果不存在,则创建一个):
RewriteEngine On
RewriteRule ^/viewer/([^/]+)/([^/]+)/?$ viewer.php?venue=$1&id=$2 [L]
现在,在根目录中创建一个viewer.php
文件。然后,您可以将变量作为$_GET
超全局的一部分进行访问,如下所示:
$venue = $_GET['venue'];
$id = $_GET['id'];
请注意,您应该在代码中使用SQL注入,并相应地清理这些输入。
答案 1 :(得分:0)
取决于您的网络服务器。
如果你正在使用带有Nginx的PHP5-FPM:
location /viewer {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME /path/to/viewer.php;
include fastcgi_params;
}
可能会这样做。然后在PHP中,您需要在/ viewer之后展开$ _SERVER [' REQUEST_URI']路径并根据它运行逻辑。
示例:
<?
$parts = explode("/", $_SERVER['REQUEST_URI']);
$i=0;
while($parts[$i] != 'viewer'){
unset($parts[$i]);
$i++;
}
if($parts[$i] == 'viewer') unset($parts[$i]);
$parts = array_values($parts);
var_dump($parts);
?>
您应该在/ viewer /(场地和ID)之后看到所有值的数组。