【问题标题】:how to hide file extension from the middle of the url using htaccess如何使用 htaccess 从 url 中间隐藏文件扩展名
【发布时间】:2015-03-26 05:38:20
【问题描述】:

我在 .htaccess 中隐藏 URL 时遇到问题。我想从 URL 中删除 .php

例如:将www.example.com/destination_info.php/Laos-destination-trip 转换为www.example.com/destination_info/Laos-destination-trip

Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)/(.+)$ $1.php/$2 [L]

【问题讨论】:

  • 请描述您遇到的问题。
  • 如果 url 是:: www.example.com/test.php,它应该显示 www.example.com/test .. 吗?

标签: regex apache .htaccess mod-rewrite url-rewriting


【解决方案1】:

您可以在DOCUMENT_ROOT/.htaccess 文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)/(.+)$ $1.php/$2 [L]

【讨论】:

  • moccatravels.com/destination_info.php/Laos-destination-trip 我使用此代码隐藏扩展名,但这不起作用....选项 -MultiViews RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\。 RewriteRule ^(.*)$ %{HTTP_HOST}/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^./]+)/( .+)$ $1.php/$2 [L]
  • 这里有像 CI 这样的 CMS 框架吗?此外,您应该编辑问题并在那里发布您的 .htaccess 代码,因为无法从 cmets 中理解它。
【解决方案2】:

要隐藏.php,请使用以下

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

隐藏html

RewriteRule ^([^\.]+)$ $1.html [NC,L]

【讨论】:

    【解决方案3】:

    试试这个,要从 PHP 文件中删除 .php 扩展名,例如 yoursite.com/wallpaper.phpyoursite.com/wallpaper,您必须在 .htaccess 文件中添加以下代码:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.php [NC,L]
    

    全文可参考here

    【讨论】:

      【解决方案4】:

      如果您想将 URL 中间的规则用于像我这样的 API,请使用来自 @anubhava 的第一个答案。这对我有用。

      另外,我使用的是 IIS,所以我必须安装重写模块,然后从第一个答案中导入规则。第二个和第三个答案仅适用于 URL 的最后一部分。

      【讨论】:

        猜你喜欢
        • 2012-04-19
        • 1970-01-01
        • 2014-03-29
        • 2018-03-14
        • 1970-01-01
        • 1970-01-01
        • 2015-02-24
        • 2012-11-25
        • 1970-01-01
        相关资源
        最近更新 更多