我知道这是常见问题,但我无法在SO处找到解决方案
htaccess是
RewriteEngine On
RewriteBase /app/
RewriteCond ${REQUEST_FILENAME} !-f
RewriteCond ${REQUEST_FILENAME} !-d
RewriteCond ${REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
并且index.php只包含一个require
到index.html,其中html存在。
我曾尝试在我的css相对路径中使用/
,但没有任何改变。我也使用<base href="/">
,但也没有任何改变。指令
RewriteRule ^(.+?\.(?:jpe?g|gif|bmp|png|tiff|css|js))$ /$1 [NC,L]
也无法解决问题。
更新。问题已解决
我检查了显示错误variable ${REQUEST_FILENAME} is not defined
的错误日志。因此,在$
将%
更改为.htaccess
可以解决问题
答案 0 :(得分:1)
请注意,在Apache httpd 2.2.16及更高版本中,有一个新指令是为这种情况创建的。它叫做FallbackResource。见http://httpd.apache.org/docs/current/mod/mod_dir.html#fallbackresource
在您的情况下,您想要:
FallbackResource /app/index.php
答案 1 :(得分:0)
确保页面中的所有链接都已完全定义
<head>
<link href="http://yoursite.com/style.css" rel="stylesheet" type="text/css">
<script src="http://yoursite.com/script.js"></script>
</head>
&#13;
如果你只有<link href="style.css" rel="stylesheet" type="text/css">
,那么在使用.htaccess之后它就无法工作。