1

我的帽子访问:

addDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|uploads|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>

我在根目录中的 index.php

define('RUNNING_FROM_ROOT', true);
include 'public/index.php';

所有请求都重定向到 index.php,然后这个 INDEX.PHP 需要 public/index.php - 所以应用程序可以工作,但有一个问题是 css、javascript 文件无法加载,因为它们是也重定向了,如何解决这个问题?

默认情况下,它们应该链接到 mysite.com/public/css/style.css,但它们链接到 mysite.com/css/style.css - 这不存在

4

1 回答 1

1

尝试这样的事情:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

在这种情况下,如果文件大小大于 0 (RewriteCond %{REQUEST_FILENAME} -s),您只需获取请求的文件 (RewriteRule ^.*$ - [NC,L]),符号链接 (RewriteCond %{REQUEST_FILENAME } -l) 或目录 (RewriteCond %{REQUEST_FILENAME} -d)。在所有其他情况下,您将重写 index.php (RewriteRule ^.*$ index.php [NC,L])

于 2013-03-29T07:33:43.887 回答