How can i redirect something.some.* to something.some in vhos
I tried various rewrite rules but none worked so no use pasting them..
My guess is that you are trying to redirect a hostname? I'm not entirely sure as to what you are trying to do.
If my assumption is correct then something like this should work for you:
RewriteCond %{HTTP_HOST} ^something\.some\..*$
RewriteRule (.*) http://something.some/$1 [R=301,L]
Related
I want to redirect from one domain to a new domain. At the same time, the URL structure has changed.
Old: https://www.olddomain.com/parentpage/oldtitle/
New: https://www.newdomain.com/newtitle
This is wordpress, and I placed this code above the Wordpress stuff, as well as tested it here: https://htaccess.madewithlove.be/
I tried this, which doesn't work:
Redirect 301 /parentpage/title https://www.newdomain.com/newtitle
Also, when testing it at https://htaccess.madewithlove.be/, I do have this redirect:
Redirect 301 /parentpage https://www.newdomain.com/parentpage
The tester would skip my preferred redirect above, and use this one, leaving me with this, which does not exist:
https://www.newdomain.com/parentpage/oldtitle
Even when I place the preferred redirect above this one. I need both, unfortunately.
Have also tried the following RewriteRules (not all at the same time)
ReWriteRule https://www.olddomain.com/parentpage/oldtitle/ https://www.newdomain.com/newtitle
ReWriteRule /parentpage/oldtitle/ https://www.newdomain.com/newtitle
ReWriteRule "https://www.olddomain.com/parentpage/oldtitle/" "https://www.newdomain.com/newtitle"
I think it has something to do with that second forward slash separating the parentpage name and page title, but I can't figure out how to fix it.
In RewriteRule it wouldn't match http or https in it, you may try following.
please make sure you clear your browser cache before testing your URLs.
RewriteEngine ON
RewriteCond %{HTTP_HOST} ^(?:www\.)olddomain\.com [NC]
RewriteCond %{REQUEST_URI} ^/parentage/oldtitle/?$ [NC]
RewriteRule ^(.*)$ https://www.newdomain.com/newtitle [R=301,L]
I need to do some redirecting to get some internal links to work but I'm having a complete block.
The url would be http://www.something.com/faqs/What_happens_if_I_move_home?
redirected to http://www.something.com/faqs/index/What_happens_if_I_move_home?
but it must look like the original url. I'm sure there is a simple answer but rewrite rules and regex are a mystery to me at times.
I did try RewriteRule ^faqs(/.*)?$ /faqs/index$1 [R,L,NC]
amongst many others!
try this:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/faqs/index
RewriteRule ^faqs/(.*) /faqs/index/$1 [L,NC]
Currently I have a domain with the format of subdomain.domain.com/path, where subdomain is a variable. I want to redirect all of the possible subdomains to subdomain.new_domain.com/path so that if someone goes to subdomain_A.domain.com or subdomain_B.domain.com they get redirected to subdomain_A.new_domain.com and subdomain_B.new_domain.com respectively.
So far I have tried
RewriteCond %{HTTP_HOST} ([.*]).domain.com$
RewriteRule (.*) %1.new_domain.com/$1
to accomplish this but for some reason the regexes will not substitute in the way that I am hoping for.
Can anyone please offer some suggestions or even confirm that this is possible using apache?
Your regex is not entirely correct. You can use this redirect rule:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.domain\.com$
RewriteRule ^ http://%1.new_domain.com%{REQUEST_URI} [L,NE,R=301]
I'm making a website, (for examples sake it will be http://www.example.com).I am trying to make it redirect http://example.com/jquery/releasenotes to http://blog.jquery.com/?s=release+notesBy using this it put a / on the end, this stops it from working, since it searches for the / aswell. I tried using http://goo.gl and converted it to http://goo.gl/WdiItL Somehow this also fails to remove the / when in redirect. However if you simply go to http://goo.gl/WdiItL it works. My .htaccess file looks like this:
Redirect 301 /jquery/releasenotes http://goo.gl/WdiItL
I have no idea how to make it not have the / on the end.Any help would be hugely appreciated!
Use this RedirectMatch rule:
RedirectMatch 301 ^/jquery/releasenotes/?$ http://goo.gl/WdiItL
Make sure to clear your browser cache before testing this
I think you have to use mod_rewrite's %{QUERY_STRING}
for example:
RewriteCond %{HTTP_HOST} =example.com [NC]
RewriteCond %{QUERY_STRING} ^(par1=1&par2=2)
RewriteRule ^$ http://alt.example.com/?%1 [R=301,L]
I am not really familiar with apache mod_rewrite.
I have url parameters such as {domain}/index.php?blog=5
I simply want to make it {domain}/home.php?client=5
Is it a task as simple as it sounds and can anyone help?
The following might work, give it a try
RewriteCond %{REQUEST_URI} ^/home.php [NC]
RewriteCond %{QUERY_STRING} client=([0-9]+) [NC]
RewriteRule (.*) http://%{REMOTE_HOST}/index.php?blog=%1 [L]
That seems pretty simple, to be honest — once you get your head into mod_rewrite, it's not that complex.
It sounds like you want to add
RewriteEngine on
RewriteRule ^/index.php?blog=(.+)$ /home.php?client=$1
to your configuration.
Some caveats:
If you are putting this in a .htaccess file, then remove the / from the RewriteRule line.
If you want to make this case-insensitive, add [NC] to the end of that same line.
If you want users to see the URL change (so sending a 302 Found redirection to the browser), then add [R] to the end of the RewriteRule line.
If you want both a 302 Found and for the URL to be case-sensitive, combine the two instructions as [NC,R] at the end of the RewriteRule line.
It's definitely worth reading the mod_rewrite docs, but the rule above should be all you need for this use-case.