我希望服务器根据目录名返回特定的PHP页面而不重定向。例如:
http://www.example.com/home
应返回与:
相同的结果http://www.example.com/index.php?page=home
但不应重定向地址
答案 0 :(得分: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>
这是一个很好的阅读。
答案 1 :(得分:1)
PHP无法在没有重定向的情况下执行此操作,但有许多解决方案:
将mod_rewrite与apache(.htaccess)一起使用
RewriteEngine on
RewriteRule ^home$ /index.php?page=home
另一个是将index.php添加到/ home,只有函数是包含文件根index.php。
答案 2 :(得分:0)
查看像(我最喜欢的)CodeIngniter或Zend这样的框架,但你不仅限于此,或者尝试通过自己的路由器重新发明轮子
答案 3 :(得分:0)
如果您使用的是Apache,可以查看htaccess脚本。通过谷歌搜索提供了大量选项