我使用以下 .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" 等等?
答案 0 :(得分:2)
在(.*)$ index.php?uri=$1
之前使用斜杠客户端。
使用此代码:
RewriteRule ^/client(.*)$ index.php?uri=$1
答案 1 :(得分:0)
您需要将所有链接更改为绝对链接或添加
<base href="http://domain.com/">
到您网页的标题。