我之前已经走过了两个方向,虽然它们都有优点和缺点我倾向于你的第二个选项,包含布局的单个主页面.这类似于主页在桌面发布应用程序中的工作方式,而ASP.NET有一个很好的实现这个想法 - 而不是我说你应该切换技术.
但是,如果您执行此路由,请使用mod_rewrite将路径导入PHP主页,而不是URL中的查询字符串.您的.htaccess文件应包含以下内容:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [S=1]
RewriteRule ^(.*)$ /index.php?path=$1 [QSA]
Run Code Online (Sandbox Code Playgroud)
这基本上说如果他们要求的文件不存在,而不是使用查询字符串变量中的URL路径将处理转发到index.php的404错误.所以" http://example.com/path/to/page "最终点击index.php,并将$ _GET ['path']设置为"/ path/to/page".从那里,您可以从数据库,平面文件或您拥有的内容中提取内容.您还可以根据请求的路径选择不同的模板.