【问题标题】:How to get to php pages without using .php in URL如何在不使用 URL 中的 .php 的情况下访问 php 页面
【发布时间】:2011-09-10 04:38:50
【问题描述】:

我有一个静态网站,其中包含 index.php、blog.php、contact.php 等文件

如何让我的网站地址正常工作,以便 www.site.com/blog 将您带到 blog.php?

我认为 htaccess 可以为我做到这一点,但我是一个 php 菜鸟!

我目前使用的唯一替代方法是创建名为“博客、联系人等”的单个文件夹,其中包含另一个 index.php 文件

谢谢

【问题讨论】:

  • 你至少读过一些htaccess教程吗?如果是,您没有更准确地理解什么?
  • 我个人不理解 URL 的虚荣心……使用文件夹是组织代码的好习惯。
  • 好吧,那些家伙认为 php 页面是“静态”网页......这就是 enogh。
  • @marvinlabs - 看了看,找不到我要找的东西。 @fosco - 我希望人们能够输入 www.mydomain.com/support 而不是 www.mydomain.com/support.php - 这是这个@Angel O'Sphere 网站是静态的,没有后端的唯一原因数据库,php页面如果不添加动态内容当然可以是静态的!

标签: php html .htaccess url


【解决方案1】:

应该这样做。

RewriteEngine on
RewriteRule ^(.*)$ $1.php [NC]

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      是的,您可以使用 mod_rewrite 重写所有 url。以下将所有不存在的文件和文件夹重写为请求的文件名 .php:

      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ $1.php [L]
      

      访问/blog 并且它不是现有目录将导致此规则将其重写为/blog.php

      【讨论】:

      • @Konerak 好吧,他确实提到了 .htaccess,所以我认为假设他正在使用 Apache 是公平的。
      • 明确一点:这就是.htaccess文件的内容
      【解决方案4】:

      我有一个静态网站,其中包含 index.php、blog.php、contact.php 等文件

      如果您使用 PHP 生成文档,则该站点是动态的,而不是静态的。

      如何让我的网站地址正常工作,以便 www.site.com/blog 将您带到 blog.php?

      假设你使用的是 Apache,开启MultiViews

      【讨论】:

      • 如果扩展名是 php 并不能使它成为一个动态页面。您可以拥有一个名为 index.php 的静态页面。 :)
      • 是的,但从他的问题的上下文来看,人们会认为它不是静态页面,但现在我想到你的评论,那个人可能在他的 php 中确实有纯 html 并且服务器配置为返回内容类型 text/html,lol ...
      【解决方案5】:

      在您服务器上的 .htaccess 文件中添加

      Options +MultiViews
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-30
        相关资源
        最近更新 更多