1

app.php或者更好地说,将除/public/路径之外的所有内容都重写为。我已经在四处寻找,但找不到真正可行的解决方案。基本上我想要的是每个 url 都将被路由到 app.php/route,即使该文件夹存在 - 除非有例外。目前我只是为 foo 和 bar 获取 403,但是它们应该被路由到app.php/fooand app.php/bar/public/另一方面不应该被重写。

其他很酷但不那么重要的事情是 url/app.php/将被重写为app.php/app.php.

我需要在我的 htaccess 中做什么才能实现这种重写方式?


目录结构:

-| projects
  -| SomeSite
    -| foo
      - .htaccess [deny from all]
    -| bar
      - .htaccess [deny from all]
    -| public
      -| css
      -| js
      -| img
    - app.php
    - .htaccess [mod_rewrite is here]

我目前的重写 htaccess:

DirectoryIndex app.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !(/public|app\.php)$
RewriteRule ^(.*)$ app.php/$1 [QSA,L,NC]
4

1 回答 1

0

将您的代码更改为:

DirectoryIndex app.php
Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_URI} !/(public|app\.php)(/.*|)$ [NC]
RewriteRule ^(.*)$ app.php/$1 [L]
于 2013-08-29T11:26:50.080 回答