【问题标题】:htaccess 404 is working only on file level but not folder levelhtaccess 404 仅适用于文件级别,但不适用于文件夹级别
【发布时间】:2023-03-13 20:41:01
【问题描述】:

当服务器上没有这样的文件时,我正在使用此规则重定向到 404

    RewriteEngine on
    ErrorDocument 404 mydomain.com/404
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]

这在例如上运行良好

mydomain.com/no-exiting-file

但是当我有的时候却不能正常工作

mydomain.com/no-exiting-folder/mydomain.com/no-exiting-folder/no-exiting-file

如何解决这个问题,不仅涵盖不存在的文件,还涵盖不存在的文件夹?

【问题讨论】:

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


    【解决方案1】:

    您能否尝试以下,根据您显示的示例编写。请确保在测试 URL 之前清除浏览器缓存。

    RewriteEngine ON
    ErrorDocument 404 mydomain.com/404
    RewriteCond %{REQUEST_URI} !\.php/?$ [NC]
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.*)$ $1.php [QSA,L]
    

    【讨论】:

      猜你喜欢
      • 2018-09-06
      • 2016-04-07
      • 1970-01-01
      • 2010-12-20
      • 2014-12-09
      • 2020-07-04
      • 1970-01-01
      • 2019-01-09
      • 1970-01-01
      相关资源
      最近更新 更多