2

我希望服务器根据目录名称返回一个特定的 PHP 页面,而不需要重定向。例如:

http://www.example.com/home

应返回与以下相同的结果:

http://www.example.com/index.php?page=home

但它不应该重定向地址

4

4 回答 4

2

您需要创建一个名为“.htaccess”的特殊文件并将其放在您的 Web 应用程序根目录中。文件内容可能是这样的:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^/home$ /index.php?page=home [L]

然后配置 Apache(httpd.conf、httpd-vhosts.conf)以允许您的 Web 应用程序使用该 .htaccess 配置文件

<VirtualHost 127.0.0.1:80>
    DocumentRoot "/path/to/your/webapp"
    ServerName localhost
    <Directory "/path/to/your/webapp">
        AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>

这是一本好书。

http://httpd.apache.org/docs/current/misc/rewriteguide.html

于 2011-03-13T03:27:25.923 回答
1

如果没有重定向,PHP 无法做到这一点,但有很多解决方案:

将 mod_rewrite 与 apache (.htaccess) 一起使用

RewriteEngine on
RewriteRule ^home$ /index.php?page=home

另一种方法是将 index.php 添加到 /home,唯一的功能是包含文档根 index.php。

于 2011-03-13T03:29:36.857 回答
0

看看像(我最喜欢的)CodeIngniter 或 Zend 这样的框架,但你不限于它或尝试通过构建自己的路由器来重新发明轮子

于 2011-03-13T03:29:44.440 回答
0

如果您使用的是 Apache,您可以查看 htaccess 脚本。谷歌搜索有很多可用的选项

于 2011-03-13T03:30:04.197 回答