【问题标题】:Can't access index in folder when rewrite engine removes .php and .html重写引擎删除 .php 和 .html 时无法访问文件夹中的索引
【发布时间】:2015-07-07 10:20:33
【问题描述】:

当重写引擎删除 .php.html 时,我在访问索引文件时遇到了一点问题...

我在 "public_html/user/username/index.php" 中有一个索引 但是当我尝试访问任何一个时,它都会让我进入错误页面

mydomain.com/user/username

mydomain.com/user/username/index

mydomain.com/user/username/index.php

当我尝试从 public_html 文件夹中的文件夹访问任何文件时,假设

public_html/user/username.php == mydomain.com/user/username

发生了什么事?

我的 .htaccess :

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

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

重写引擎已经启动,一切正常...

【问题讨论】:

    标签: php apache .htaccess mod-rewrite


    【解决方案1】:

    您应该在添加这些 etenstions 之前检查是否存在 php 和 html 文件:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-20
      • 2018-05-25
      • 2011-10-25
      • 1970-01-01
      相关资源
      最近更新 更多