0

(这里是php新手)

我正在为一个主要是静态的营销网站编写一个非常简单的路由器。到目前为止,我有每个与文件不匹配的请求都通过我的 index.php。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . /index.php [L]
</IfModule>

在我的 index.php 中,我决定输出什么。这工作得很好。

但是,如果用户专门浏览到我不希望他们访问的文件会发生什么?它不会通过我的 index.php。所以我可以删除那个条件......但是css文件呢?我猜我也可以包括这些。但是……那么图像呢?

我猜有一个更好的方法,我只是还不知道。

(一个请求:请不要建议使用框架。我想在使用别人的代码之前了解事情是如何工作的。)

4

1 回答 1

1

更改重写条件以包含排除文件类型的列表:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !\.(png|jpg|gif)$
    RewriteRule . /index.php [L]
</IfModule>
于 2013-07-16T16:55:26.093 回答