Help merging rewrite rules
2 posts
• Page 1 of 1
Help merging rewrite rules
We have a website (running on IIS), that allows users to have a subdomain (i.e. xxxxx.ourdomain.com), or they can point their own domains to it (e.g. www.domain1.com, www.domain2.com, etc).
We use an .htaccess file which contains the following rules for ALL subdomains:
RewriteRule ^/?(([a-z]{2})/)?(Javascript)(.*) /$3$4 [NC,L]
RewriteRule ^/?FormShield(.*) /FormShield$1 [NC,L]
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^www\.([^.]+)(\.ourdomain\.com)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://%2%3%4 [R=301,L]
RewriteRule ^/?(Javascript)(.*) /$1$2 [NC,L]
RewriteRule ^/?(Uploads)(.*) /$1$2 [NC,L]
RewriteRule ^/?(UnderConstruction)(.*) /$1$2 [NC,L]
RewriteRule ^/?(Error)(.*) /$1$2 [NC,L]
RewriteRule ^/?(ScriptResource\.axd)(.*) /$1$2 [NC,L]
RewriteRule ^/?(WebResource\.axd)(.*) /$1$2 [NC,L]
RewriteRule ^/?(viewsite/images)(.*) /$1$2 [NC,L]
RewriteRule ^/?(viewsite/styles)(.*) /$1$2 [NC,L]
RewriteRule ^/?(viewsite/themes)(.*) /$1$2 [NC,L]
RewriteRule ^/?(images)(.*) /$1$2 [NC,L]
RewriteRule ^/?(uploads)(.*) /$1$2 [NC,L]
RewriteRule ^/?(styles)(.*) /$1$2 [NC,L]
RewriteRule ^/?(ProcessHandler)(.*) /$1$2 [NC,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule /?viewsite/(home|default|accommodation|localarea|location|photos|rates|availability|guestbook|enquiries|links).aspx(.*)? /$1$2 [R=301,NC]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule (/)?(([a-z]{2})/)?(.*[^/])?(/)?(home|default)(.aspx)?(.*) /$3$8 [R=301,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule (/)?([a-z]{2})?(/(.+[^/]))?/$ /viewsite/home.aspx?id=%1&sid=$4&lang=$2 [NC,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule ([^/]*)?(/)?(sitemap.xml)$ /viewsite/sitemap.ashx?id=%1 [NC,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule ([^/]*)?(/)?(robots.txt)$ /viewsite/robots.ashx?id=%1 [NC,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule ^(/)?(([a-z]{2})/)?(&.*)?$ /viewsite/default.aspx?id=%1&lang=$3$4 [NC,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule (/)?(([a-z]{2})/)?(([^/]*))(/([^/]*))? /viewsite/custom.aspx?id=%1&page=$4&lang=$3&sid=$7 [NC,L]
And we auto generate the following rules for each personal domain that is added:
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www\.)(domain1\.com)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule /?viewsite/(home|default|accommodation|localarea|location|photos|rates|availability|guestbook|enquiries|links).aspx(.*)? /$1$2 [R=301,NC]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule (/)?(([a-z]{2})/)?(.*[^/])?(/)?(home|default)(.aspx)?(.*) /$3$8 [R=301,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule (/)?([a-z]{2})?(/(.+[^/]))?/$ /viewsite/home.aspx?id=%2&sid=$4&lang=$2 [NC,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule ([^/]*)?(/)?(sitemap.xml)$ /viewsite/sitemap.ashx?id=%2 [NC,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule ([^/]*)?(/)?(robots.txt)$ /viewsite/robots.ashx?id=%2 [NC,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule ^(/)?(([a-z]{2})/)?(&.*)?$ /viewsite/default.aspx?id=%2&lang=$3$4 [NC,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule (/)?(([a-z]{2})/)?(([^/]*))(/([^/]*))? /viewsite/custom.aspx?id=%2&page=$4&lang=$3&sid=$7 [NC,L]
Can the above rules (personal domains) be rewritten in such a way so that we don't have to repeat the rules for EACH domain? (but not affect the sub domain rules)
Thanks in advance for any assistance,
Neil
We use an .htaccess file which contains the following rules for ALL subdomains:
RewriteRule ^/?(([a-z]{2})/)?(Javascript)(.*) /$3$4 [NC,L]
RewriteRule ^/?FormShield(.*) /FormShield$1 [NC,L]
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^www\.([^.]+)(\.ourdomain\.com)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://%2%3%4 [R=301,L]
RewriteRule ^/?(Javascript)(.*) /$1$2 [NC,L]
RewriteRule ^/?(Uploads)(.*) /$1$2 [NC,L]
RewriteRule ^/?(UnderConstruction)(.*) /$1$2 [NC,L]
RewriteRule ^/?(Error)(.*) /$1$2 [NC,L]
RewriteRule ^/?(ScriptResource\.axd)(.*) /$1$2 [NC,L]
RewriteRule ^/?(WebResource\.axd)(.*) /$1$2 [NC,L]
RewriteRule ^/?(viewsite/images)(.*) /$1$2 [NC,L]
RewriteRule ^/?(viewsite/styles)(.*) /$1$2 [NC,L]
RewriteRule ^/?(viewsite/themes)(.*) /$1$2 [NC,L]
RewriteRule ^/?(images)(.*) /$1$2 [NC,L]
RewriteRule ^/?(uploads)(.*) /$1$2 [NC,L]
RewriteRule ^/?(styles)(.*) /$1$2 [NC,L]
RewriteRule ^/?(ProcessHandler)(.*) /$1$2 [NC,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule /?viewsite/(home|default|accommodation|localarea|location|photos|rates|availability|guestbook|enquiries|links).aspx(.*)? /$1$2 [R=301,NC]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule (/)?(([a-z]{2})/)?(.*[^/])?(/)?(home|default)(.aspx)?(.*) /$3$8 [R=301,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule (/)?([a-z]{2})?(/(.+[^/]))?/$ /viewsite/home.aspx?id=%1&sid=$4&lang=$2 [NC,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule ([^/]*)?(/)?(sitemap.xml)$ /viewsite/sitemap.ashx?id=%1 [NC,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule ([^/]*)?(/)?(robots.txt)$ /viewsite/robots.ashx?id=%1 [NC,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule ^(/)?(([a-z]{2})/)?(&.*)?$ /viewsite/default.aspx?id=%1&lang=$3$4 [NC,L]
RewriteCond %{HTTP:Host} ^(?!www\.)([^.]+)\.ourdomain\.com [NC]
RewriteRule (/)?(([a-z]{2})/)?(([^/]*))(/([^/]*))? /viewsite/custom.aspx?id=%1&page=$4&lang=$3&sid=$7 [NC,L]
And we auto generate the following rules for each personal domain that is added:
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www\.)(domain1\.com)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule /?viewsite/(home|default|accommodation|localarea|location|photos|rates|availability|guestbook|enquiries|links).aspx(.*)? /$1$2 [R=301,NC]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule (/)?(([a-z]{2})/)?(.*[^/])?(/)?(home|default)(.aspx)?(.*) /$3$8 [R=301,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule (/)?([a-z]{2})?(/(.+[^/]))?/$ /viewsite/home.aspx?id=%2&sid=$4&lang=$2 [NC,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule ([^/]*)?(/)?(sitemap.xml)$ /viewsite/sitemap.ashx?id=%2 [NC,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule ([^/]*)?(/)?(robots.txt)$ /viewsite/robots.ashx?id=%2 [NC,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule ^(/)?(([a-z]{2})/)?(&.*)?$ /viewsite/default.aspx?id=%2&lang=$3$4 [NC,L]
RewriteCond %{HTTP:Host} ^(www\.)?(domain1\.com) [NC]
RewriteRule (/)?(([a-z]{2})/)?(([^/]*))(/([^/]*))? /viewsite/custom.aspx?id=%2&page=$4&lang=$3&sid=$7 [NC,L]
Can the above rules (personal domains) be rewritten in such a way so that we don't have to repeat the rules for EACH domain? (but not affect the sub domain rules)
Thanks in advance for any assistance,
Neil
2 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 21 guests