Php 如何使用url路径作为脚本的输入?

Php 如何使用url路径作为脚本的输入?,php,apache,url-routing,Php,Apache,Url Routing,假设我正在推出CMS。每个用户都可以在domain.com/username/index.php上获得自己的页面。目前,我正在考虑让一个新帐户在上述位置创建一个文件夹,并制作一个索引文件,如下所示: <?php $username=blahblah; require("../indextemplate.php"); ?> 这样就行了。每个人都有自己的自定义页面等等。我觉得愚蠢的是,我必须为每个独特的用户创建相同的文件夹和文件。是否有一种方法可以替代使用domain.com/us

假设我正在推出CMS。每个用户都可以在domain.com/username/index.php上获得自己的页面。目前,我正在考虑让一个新帐户在上述位置创建一个文件夹,并制作一个索引文件,如下所示:

<?php
$username=blahblah;
require("../indextemplate.php");
?>

这样就行了。每个人都有自己的自定义页面等等。我觉得愚蠢的是,我必须为每个独特的用户创建相同的文件夹和文件。是否有一种方法可以替代使用domain.com/username捕捉用户。然后直接发送到indextemplate.php

当我键入此内容时,我意识到我可能能够使用apache与$_SERVER[“REQUEST_URI”]组合使用的“该页面不存在”重定向(不确定apache重定向是否会干扰url)转到正确的页面

我想我是在问哪种方法更好(创建数百万个文件夹/页面是我在谷歌上找到的解决方案,但它看起来确实更糟)。它们是第二种选择的可怕缺点吗?或者第三条路可能是

<?php
$username=blahblah;
require("../indextemplate.php?username=".$username);
?>


然后,我想您需要在indextemplate脚本中使用$\u GET['username']。托盘

如果要使用这些url重定向,请使用.htaccess文件

基本上,.htaccess可以告诉服务器将example.com/user/Idiomatic视为example.com/index.php?q=user&name=Idiomatic,然后由php/mysql通过这些$\u GET变量加载数据。这被许多CMS使用,比如Drupal

每次创建一个新文件都是毫无意义的,这样会创建很多文件

看一看

例如,您有user.php:

$username = $_GET['username'];
require("../indextemplate.php");
“重写”可以按如下方式配置:

RewriteEngine On
RewriteRule ^(\w+)/?$ user.php?username=$1 [L]

你想让这个社区成为维基吗?谢谢!看起来正是我想要的。