根据目录基名返回 PHP 页面,无需重定向

发布于 2024-10-21 16:08:14 字数 207 浏览 4 评论 0原文

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

http://www.example.com/home

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

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

但它不应该重定向地址

I want the server to return a specific PHP page based on the directory name without a redirect. For example:

http://www.example.com/home

should return the same result as:

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

but it shouldn't redirect the address

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

ぶ宁プ宁ぶ 2024-10-28 16:08:14

您需要创建一个名为“.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

you need to create a special file called '.htaccess' and put it in your web application root directory. File content could be like this:

Options +FollowSymLinks
RewriteEngine on

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

Then configure Apache (httpd.conf, httpd-vhosts.conf) to allow your web application to use that .htaccess config file

<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>

This is a good read.

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

南烟 2024-10-28 16:08:14

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

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

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

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

PHP can't do this without a redirect, but there are a host of solutions:

Use mod_rewrite with apache (.htaccess)

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

Another would be to add an index.php to /home thats only function is to include the document root index.php.

起风了 2024-10-28 16:08:14

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

look at frameworks like (my favorites) CodeIngniter or Zend, but you are not limited to it or try to reinvent the wheel by buid your own router

江心雾 2024-10-28 16:08:14

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

If you are using Apache you can look into htaccess scripts. There are a ton of options available through a google search

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文