【问题标题】:Getting file and folder issues using htaccess file in PHP在 PHP 中使用 htaccess 文件获取文件和文件夹问题
【发布时间】:2021-07-28 13:33:12
【问题描述】:

我正在为一个使用 PHP PDO 的博客系统工作。我在我的根文件夹中创建了一个 post.php 页面。在同一个根目录中,我有一个 Admin 文件夹。 我正在从数据库中获取帖子,例如 -

example.com/cat_slug/post_slug 

example.com/php/how-to-learn-php 

如您所见,由于 .htaccess 文件,URL 中没有 post 关键字。

RewriteEngine On  
 RewriteRule ^([^/]*)/([^/]*)$ post.php?cat=$1&postSlug=$2 [L]

根据我的需要是正确的,但在同一个文件夹中,我有 Admin 文件夹(post.php 所在的位置)。 Admin 文件夹包含文件夹和文件。现在,当我打开 Admin 文件夹时,它将 post.php

喜欢-

example.com/Admin 

它会转到 example.com/Admin 并输出 - undefine - 蛞蝓广告猫。 我希望当我访问 Admin 文件夹时,它应该打开 Admin 文件而不是重定向到 post.php 文件。我的根目录中有许多与管理员相同的文件夹。都去post.php执行了。

【问题讨论】:

    标签: php .htaccess mod-rewrite


    【解决方案1】:

    试试这样的:

    RewriteEngine On  
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]*)/([^/]*)$ post.php?cat=$1&postSlug=$2 [L]
    

    【讨论】:

    • 我又有问题了。我创建了另一个 learn.php 页面,并使用此 htaccess 代码 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^learn/([^/]*)/([^/]*)$ learn.php?cat_list=$1 [L] 为列表视图重定向 example.com/learn/php ,但它也在 post.php 上重定向。它的另一页。学习.php。我想example.com/learn/php
    • .htaccess 文件中的规则顺序很重要。最准确的规则应该是第一位的,也许这就是你现在的问题?尝试在 post.php 之前为 learn.php 编写规则。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    相关资源
    最近更新 更多