Solved

Re-write help

Posted on 2009-06-27
7
211 Views
Last Modified: 2012-05-07
Hi,

I have the attached .htaccess file, which works great so far, but now I want to be able to specify folders which should not be included in the rewrite, i.e. images, css, and javascript etc

At the minute calls for images and javascript files are not working due to the rewrite
rewriteEngine on 

# This will handle any file that ends in php (like index.php)

RewriteCond %{HTTP_HOST} !^www\.digitalassetbag.com

RewriteCond %{REQUEST_FILENAME} php$

RewriteCond %{QUERY_STRING} !subdomain=

RewriteCond %{HTTP_HOST} ([^.]+)\.digitalassetbag.com

RewriteRule ^/?(.+)/?$ /$1?subdomain=%1 [QSA]

 

# This will handle URLs like /products

RewriteCond %{HTTP_HOST} !^www\.digitalassetbag.com

RewriteCond %{REQUEST_FILENAME} !php$

RewriteCond %{QUERY_STRING} !subdomain=

RewriteCond %{HTTP_HOST} ([^.]+)\.digitalassetbag.com

RewriteRule ^/?(.+)/?$ /$1.php?subdomain=%1 [QSA]

Open in new window

0
Comment
Question by:SheppardDigital
  • 4
  • 2
7 Comments
 
LVL 2

Expert Comment

by:thinkingman2
Comment Utility
Instead of specifically excluding certain folders, what I do is this: I just exclude anything that is already a valid filename from the Rewrite; the attached added lines should go right below the RewriteEngine On line in your .htaccess file. The first line excludes valid, existing directory names from the RewriteRule(s). The next line excludes valid filenames from the Rule.
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

Open in new window

0
 

Author Comment

by:SheppardDigital
Comment Utility
Hi,

Sorry for the delay, I've just got back from holiday.

That solution didn't work, it broke the rest of my re-write rules.
0
 

Author Comment

by:SheppardDigital
Comment Utility
Can anyone help with this problem, all I want to do is exclude certain folders from the re-write, i.e. images and css etc
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 27

Accepted Solution

by:
caterham_www earned 500 total points
Comment Utility
You can simplify your rules a little bit. If you'd like to exclude a specific folder, use e.g.

RewriteCond %{REQUEST_URI} ^/folder/

like:
RewriteEngine on 

# This will handle any file that ends in php (like index.php)

RewriteCond %{QUERY_STRING} !subdomain=

RewriteCond %{HTTP_HOST} ([^.]+)\.digitalassetbag\.com

RewriteCond %1 !=www

RewriteRule \.php$ /$1?subdomain=%1 [QSA,L]

 

# This will handle URLs like /products

RewriteCond %{REQUEST_URI} !\.php$

# exclude two folders

RewriteCond %{REQUEST_URI} ^/(images|css)/

RewriteCond %{QUERY_STRING} !subdomain=

RewriteCond %{HTTP_HOST} ([^.]+)\.digitalassetbag\.com

RewriteCond %1 !=www

RewriteRule ^/?(.+)/?$ /$1.php?subdomain=%1 [QSA]

Open in new window

0
 

Author Comment

by:SheppardDigital
Comment Utility
Hi,

When I try that I get this error

"This web page has a redirect loop."
0
 

Author Closing Comment

by:SheppardDigital
Comment Utility
I just removed the 2nd paragraph and it's all working, thanks
0
 
LVL 27

Expert Comment

by:caterham_www
Comment Utility
There's a ! (=not) missing, it should read
RewriteCond %{REQUEST_URI} !^/folder/
 

resp.

RewriteCond %{REQUEST_URI} !^/(images|css)/

Open in new window

0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Suggested Solutions

Deprecated and Headed for the Dustbin By now, you have probably heard that some PHP features, while convenient, can also cause PHP security problems.  This article discusses one of those, called register_globals.  It is a thing you do not want.  …
These days socially coordinated efforts have turned into a critical requirement for enterprises.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now