我从头开始在PHP中开发MVC框架;主要是为了学习体验,但这可能很容易在实时项目中结束。我经历了这个tutorial作为一个基地,我从那里扩大。MVC框架中的URL路由 - PHP
的请求作出这样的:
examplesite.com/controller/action/param1/param2/等等...
这是我的.htaccess文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]
因此,所有请求都会转到index.php,并从那里发送到正确的控制器和操作。如果没有给出控制器或动作,则为两者假设默认的“索引”。
我有一个索引控制器与索引行动,这应该是我的网站的主页。我可以访问examplesite.com访问它(因为索引部分是假设的)。它有一些图像,一个样式表的链接和一些脚本。它们与相对于index.php的路径相链接。我认为这会很好,因为所有的请求都转到index.php上,所有的内容都简单地包含在这个页面中。如果我去examplesite.com这工作。我会看到所有的图像和样式,脚本将运行。 但是,如果我访问examplesite.com/index,我会路由到该网站的正确部分,但所有链接都不起作用。浏览器是否认为我在不同的文件夹中?
我想能够使用相对路径为我的网站的所有内容,否则我需要使用绝对路径无处不在,以确保事情会显示。这可能吗?
是的。这是我一直在做的,但我不熟悉 标签。我得看看这个词是什么。 –
Walderman
2010-04-07 23:56:19
但是现在我们如何在本地主机上运行多个网站? – Petah 2011-02-07 10:36:24
@Walderman我听说过使用基本标签和一些罐头框架的问题,具体取决于设置。使用基本标签是很好的,特别是如果你控制世界。 – 2017-03-14 02:13:48