httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Hettler <christian.hett...@asknet.de>
Subject Re: [users@httpd] Rewrite domain to language specific page but no address bar redirection
Date Tue, 29 Mar 2016 09:07:48 GMT
did you check the flag [PT] for RewriteRule?

Christian

On Fri, Mar 25, 2016 at 04:27:46PM +0200, Alexandru Duzsardi wrote:
> I tested a bit more , and unfortunately it breaks somewhere 
> Probably I should have mentioned that the path’s after  ….hostname.com/  are not
always physical paths on the disk , actually I think like 95% are not 
> For example 
> lang-fr.hostname.com/user/  , lang-fr.hostname.com/admin , lang-fr.hostname.com/admin/modules

> or
> hostname.com/fr/user , hostname.com/fr/admin , hostname.com/admin , hostname.com/admin/modules
> or
> lang-fr.hostname.com/fr/user , lang-fr.hostname.com/fr/admin , lang-fr.hostname.com/fr/admin/modules
> 
> And deeper paths are generated by drupal , and there is no index file , just the path
> 
> I tried to do this to remove the index.php file from the path , and this works but deeper
paths don’t
> 
>   RewriteCond %{HTTP_HOST} ^lang-fr\.hostname\.com$ [NC]
>   RewriteCond %{REQUEST_URI} !^/fr/.*$
>   RewriteCond %{THE_REQUEST} ^GET.*index\.php$ [NC]
>   RewriteRule ^(.*)index\.php/*(.*)$ /fr/$2 [L]
> 
> From: Marat Khalili [mailto:mkh@rqc.ru] 
> Sent: Friday, March 25, 2016 2:31 PM
> To: users@httpd.apache.org
> Subject: Re: [users@httpd] Rewrite domain to language specific page but no address bar
redirection
> 
> It's tricky. Here's a rule set that works for me (but it may depend on Apache version
and configuration):
> 
> # fr-lang {
>   RewriteCond %{ENV:REDIRECT_STATUS} ^$
>   RewriteCond %{REQUEST_URI} ^/fr$
>   RewriteRule ^fr$ http://lang-fr.hostname.com/ [L,R=302]
> 
>   RewriteCond %{ENV:REDIRECT_STATUS} ^$
>   RewriteCond %{REQUEST_URI} ^/fr/.*$
>   RewriteRule ^fr/(.*)$ http://lang-fr.hostname.com/$1 [L,R=302]
> 
>   RewriteCond %{HTTP_HOST} ^www\.lang-fr\.hostname\.com$ [NC]
>   RewriteRule ^(.*)$ http://lang-fr.hostname.com/$1 [R=301,L]
> 
>   RewriteCond %{HTTP_HOST} ^lang-fr\.hostname\.com$ [NC]
>   RewriteCond %{REQUEST_URI} !^/fr/.*$
>   RewriteRule ^(.*)$ /fr/$1 [L]
> 
>   RewriteCond %{HTTP_HOST} ^lang-fr\.hostname\.com$ [NC]
>   RewriteRule ^(.*)$ - [L]
> # fr-lang }
> 
> Repeat for each language (probably it's possible to make a single rule set for all languages,
but I didn't try it).
> --
> 
> With Best Regards,
> Marat Khalili
> 
> 
> 
> On 25/03/16 11:13, Alexandru Duzsardi wrote:
> Hello,
> I’ve search around on search engines but I could not find any answers that solve my
dilemma
> I have a VirtualHost configured to respond on multiple hostnames 
> Example: hostname.com , lang-fr.hostname.com , lang-nl.hostname.com , fr-lang.hostname.com
, nl-lang.hostname.com
> Now , what I would like is that 
> If somebody is accessing lang-fr.hostname.com and fr-lang.hostname.com to actually  see
the pages under hostname.com/fr/… but without redirection 
> Like lang-fr.hostname.com/users to actually be hostname.com/fr/users , and so on for
other languages.
>  
> I’ve tried some things but always get to many redirects or some other error and can’t
figure it out why is that happening , but if I had to guess is because I’m using RewriteCond
 correctly.
>  
> Thank you in advance!
>  
>  
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message