由 PHP 脚本提供的虚拟 Web 文件夹

由 PHP 脚本提供的虚拟 Web 文件夹

我正在尝试配置我的 apache 以便能够显示(虚拟)页面,例如:mywebpage.com/something1 mywebpage.com/something2 mywebpage.com/folder/something3

我希望这些“somethingX”和“folder”文件夹只是虚拟的,而不是物理目录。首先,将所有对 mywebpage 的请求发送到一个 PHP 脚本会很好,该脚本将以某种方式接收原始路径信息(据我所知,有一些 SERVER 数组)并调用必要的 PHP 函数(到目前为止,我使用的地址是 mywebpage.com/index.php?page=blabla&otherparameters=values...)。这可能吗?

我正在尝试不同的组合,目前我在 /etc/apache2/conf.d/something.conf 中使用以下文件(当然不起作用)。正确的处理方法是什么?谢谢。

<Location /myweb>
SetHandler my-handler 
Action my-handler /srv/www/htdocs/myweb/product.php virtual
</Location>

我的页面位于 /srv/www/htdocs/myweb。我尝试了 Location、Directory、Action 和 SetHandler、AddHandler... ;-) 一些配置被忽略,一些配置导致“未找到对象”,而错误日志中没有任何相关信息。

答案1

也许您可以使用 mod_rewrite,创建一个名为.htaccessinside /myweb 的文件,然后将所有请求重定向到 php 文件:

RewriteEngine on
RewriteBase /myweb
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* redirect.php/$0 [PT,L]

在redirect.php中,你可以使用以下命令访问请求路径:$_SERVER['REQUEST_URI']

相关内容