dongqun5769 2013-07-16 16:52
浏览 26
已采纳

通过index.php(包括图像,CSS等)路由每个请求

(php newbie here)

I'm writing a very simple router for a mostly static marketing website. So far, I have every request that doesn't match a file go through my index.php.

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

And in my index.php, I decide what to output. This is working pretty well.

But what happens if a user browses specifically to a file I don't want them to go to? It won't go through my index.php. So I could remove that condition... but what about css files? I'm guessing I could include those as well. But then... what about images?

I'm guessing there's a better way that I just don't know about yet.

(One request: Please don't suggest using a framework. I'd like to learn how things work before I use somebody else's code.)

  • 写回答

1条回答 默认 最新

  • du3932066 2013-07-16 16:55
    关注

    Change the Rewrite condition to include a list of excluded filetypes:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
        RewriteRule ^index\.php$ - [L]
        RewriteCond %{REQUEST_FILENAME} !\.(png|jpg|gif)$
        RewriteRule . /index.php [L]
    </IfModule>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化