我希望服务器根据目录名称返回一个特定的 PHP 页面,而不需要重定向。例如:
http://www.example.com/home
应返回与以下相同的结果:
http://www.example.com/index.php?page=home
但它不应该重定向地址
您需要创建一个名为“.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>
这是一本好书。
如果没有重定向,PHP 无法做到这一点,但有很多解决方案:
将 mod_rewrite 与 apache (.htaccess) 一起使用
RewriteEngine on
RewriteRule ^home$ /index.php?page=home
另一种方法是将 index.php 添加到 /home,唯一的功能是包含文档根 index.php。
看看像(我最喜欢的)CodeIngniter 或 Zend 这样的框架,但你不限于它或尝试通过构建自己的路由器来重新发明轮子
如果您使用的是 Apache,您可以查看 htaccess 脚本。谷歌搜索有很多可用的选项