mod_rewrite - >没有按预期工作

时间:2012-10-09 07:31:24

标签: apache mod-rewrite

我使用以下 .htaccess 将所有请求重定向到我的index.php,除非文件夹或文件存在。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?uri=$1 [QSA]

但是,如果我尝试网址如 domain.com/thing/a/thing/b ,我会被重定向到我的index.php,但其他一切都搞砸了。 html没有正确链接到样式表等等。

我的应用程序有点像MVC-Framework,即一切都发生在index.php上。所以我不希望除公共文件夹中的文件和一些特定文件外,其他文件都可以访问。即根目录中的cron.php和文件夹结构中的一些css / js / image文件。

有关文件结构的更多详细信息:https://bitbucket.org/BrainInBlack/source-motd-plus/src

或者我必须使用绝对路径链接样式表和其他内容,即" http://domain.com/path/to/style.css" 等等?

2 个答案:

答案 0 :(得分:2)

(.*)$ index.php?uri=$1之前使用斜杠客户端。

使用此代码:

RewriteRule ^/client(.*)$ index.php?uri=$1

答案 1 :(得分:0)

您需要将所有链接更改为绝对链接或添加

<base href="http://domain.com/">

到您网页的标题。