The corresponding asset is being created (i.e. assets/djgsdj12rw/test.js) and the script tags are included inside the head tags. However the file is not being read, instead I get an error like:
<!DOCTYPE html PUBLIC
2 "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7<title>Page Not Found</title>
8<style type="text/css">
9/*<![CDATA[*/
10body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
11h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
12h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
13h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
14p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
15.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
16/*]]>*/
17</style>
18</head>
19<body>
20<h1>Page Not Found</h1>
21<h2>Unable to resolve the request "assets/djgsdj12rw/test.js".</h2>
22<p>
23The requested URL was not found on this server.
24If you entered the URL manually please check your spelling and try again.
25</p>
26<p>
27If you think this is a server error, please contact the webmaster.
28</p>
29<div class="version">
302009-09-09 14:29:51 Apache/2.2.9 (Unix) mod_ssl/2.2.9 OpenSSL/0.9.7d DAV/2 PHP/5.2.6 mod_perl/2.0.2 Perl/v5.8.4 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.0.6</div>
31</body>
32</html>
Any help would be much appreciated!
P.S I have attempted to search for this on the forums, but as far as I can tell the new forums search functionality sucks!
Got it, thanks to you Mike. My config is actually in the servers httpd.conf rather than .htaccess so for the benefit of others, this is what I now have and it appears to work:
<Directory "/path/to/app">
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !=f
RewriteCond %{REQUEST_FILENAME} !=d
RewriteRule . index.php
</Directory>
<Directory "/path/to/app/css">
RewriteEngine off
</Directory>
<Directory "/path/to/app/assets">
RewriteEngine off
</Directory>
<Directory "/path/to/app/js">
RewriteEngine off
</Directory>
Just the RewriteCond statements on their own do not appear to have the desired affect as I already had those in place, I also had the CSS directory statement in place which explains one of the things that was really confusing, in that I could directly access js files if I stored them in that directory, but couldn’t if they were anywhere else.
Strange. You say that it doesn’t work without the <Directory…> directives? That should not be the case. You can enable logging for mod_rewrite to find out what’s going on.
Don’t worry, it’s me be an idiot. I was using != in the RewriteCond statements, instead of !- Useful link though, I’ve always kind of blindly followed half-baked tutorials for my Apache config needs in the past, I’ll have a read through that and hopefully glean some kind of knowledge