【问题标题】:Rewrite rule that will get rid of the .php file extension in my URL重写规则将摆脱我的 URL 中的 .php 文件扩展名
【发布时间】:2016-07-16 14:48:04
【问题描述】:

我需要一个重写规则来消除我的 URL 中的 .php 文件扩展名。我试过以下。它不起作用。

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php

【问题讨论】:

    标签: php .htaccess url-rewriting file-extension


    【解决方案1】:

    根据this,以下代码应该适用于删除 PHP 扩展。

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

    【讨论】:

    • 这段代码删除了整个扩展,这反过来又将我重定向到 RewriteBase。我只需要删除 .php。
    • 我是 stackoverflow 的新手。你能告诉我如何将我的“有问题的代码”放入正确的格式/文本编辑器中吗?
    【解决方案2】:

    要完全删除 .php 扩展名,您可以使用以下规则:

    RewriteEngine on
    #1 redirect "/file.php" to "/file"
    RewriteCond %{THE_REQUEST} ([^.]+)\.php [NC]
    RewriteRule ^ %1 [L,R]
    #2 internally map "/file" back to "/file.php"
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}\.php -f 
    RewriteRule ^(.*?)/?$ /$1.php [L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      相关资源
      最近更新 更多