【问题标题】:Remove .php extension删除 .php 扩展名
【发布时间】:2017-04-29 03:30:35
【问题描述】:

我有两段代码删除了 .php 扩展名。

解决方案 1:

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

解决方案 2:

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]

directory 是一个目录

page 是一个页面

解决方案 1 的问题:

如果你去 domain.com/directory,它应该显示 domain.com/directory/index.php 但 index.php 没有出现,它只是显示一个 404 错误页面。

解决方案 2 的问题:

如果你去 domain.com/directory/page/haha-lol-blah-blah,页面 domain.com/directory/page 会出现,不管页面后面是什么。


这两个问题都有解决方案吗?

这是我需要的:

domain.com/directory -> shows the page: domain.com/directory/index.php
domain.com/directory/page -> shows the page: domain.com/directory/page.php
domain.com/directory/page/haha-lol-blah-blah -> invalid page (404)

【问题讨论】:

    标签: php apache .htaccess redirect directory


    【解决方案1】:

    我相信现在可以使用此代码:

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

    【讨论】:

      【解决方案2】:

      这样试试吧,

      #incoming request neither a file nor a directory
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.+?)$ $1.php [L]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-08-11
        • 2011-04-30
        • 2016-11-03
        • 2013-10-11
        • 2012-08-27
        相关资源
        最近更新 更多