简体   繁体   中英

how to mask part of URL after doing a mod_rewrite

I have several client domains I would like to point to my droplet(I have a vue app here) and serve the right path depending on the domain being called.

eg: domainA.com should go to mysite.com/path-a

domainB.com should go to mysite.com/path-b

I have tried to rewrite the URL using .htaccess

<IfModule mod_rewrite.c>
  RewriteEngine On
RewriteCond %{HTTP_HOST} =domainA
RewriteCond %{REQUEST_URI} =/
RewriteRule ^ %{HOST_NAME}/uri-a [R=301,L]

 # Handle subsequent routes
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.html [L]

 </IfModule>

However, I can't seem to be able to remove the URI and just show the client domain name.

Would also like to make it dynamic so I don't have to write the same rule for each client domain

Could you please try following, based on your shown samples, please clear your browser cache before testing your URLs.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domainA\.com$ [NC]
RewriteRule ^/?$ http://%{HTTP_HOST}/path-a [R=301,L]

RewriteCond %{HTTP_HOST} ^domainB\.com$ [NC]
RewriteRule ^/?$ http://%{HTTP_HOST}/path-b [R=301,L]

# Handle subsequent routes
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

You may try this code in your root .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?domainA\.com$ [NC]
RewriteRule ^$ path-a [L]

RewriteCond %{HTTP_HOST} ^(?:www\.)?domainB\.com$ [NC]
RewriteRule ^$ path-b [L]

# Handle subsequent routes
RewriteRule ^index\.html$ - [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [L]

Make sure to test from a new browser or after clearing your browser cache.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM