【问题标题】:How to Mask Extension in URL如何屏蔽 URL 中的扩展名
【发布时间】:2011-01-04 11:25:54
【问题描述】:

有没有办法用 PHP 屏蔽我网站上页面的 URL 扩展? 示例:http://home/subfolder 而不是 http://home.subfolder.php

【问题讨论】:

标签: php html


【解决方案1】:

Apache httpd 的 mod_rewrite 可以在服务器端透明地重写 URL,让你使用任何你喜欢的 URL。

【讨论】:

    【解决方案2】:

    将以下内容放在您网站根目录的 .htaccess 文件中

    <IfModule mod_rewrite.c>
       Options +FollowSymLinks
       Options +Indexes
       RewriteEngine On
       RewriteCond %{SCRIPT_FILENAME} !-d
       RewriteRule ^([^\.]+)$ $1.php [NC,L]
    </IfModule>
    

    【讨论】:

      【解决方案3】:

      正如其他人所说,如果您在启用 Apache 的服务器上,则使用 mod_rewrite 完成此操作。已经提出了各种类似的问题:

      相关:

      1. How to hide the .html extension with Apache mod_rewrite
      2. Removing .php with mod_rewrite

      【讨论】:

        【解决方案4】:

        是的,这是可能的,虽然它与 PHP 无关。

        您必须在您的网络服务器的根目录上创建一个名为.htaccess 的文件(如果它尚不存在)。例如,如果您想静默地将用户从 /page/software/ 重定向到 index.php?page=software,您可以使用:

        RewriteEngine on 
        RewriteRule ^page/([^/\.]+)/?$ index.php?page=$1 [L]
        

        开头部分 (^page/([^/\.]+)/?$) 是一个正则表达式。如果您不确定如何使用它们,请举例说明您正在尝试做什么,我们可以提供帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-13
          • 1970-01-01
          • 2014-12-19
          相关资源
          最近更新 更多