LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   redirections between directories/files (https://www.linuxquestions.org/questions/linux-newbie-8/redirections-between-directories-files-335390/)

basher400 06-20-2005 07:31 AM

redirections between directories/files
 
hi

I am not sure this is a unix question but here goes:

lets say I have 2 folders "folder1" and "folder2"
they are accessed via web as so:
http://mydomain.com/folder1/
http://mydomain.com/folder2/


they both have an index.html file.

I want everybody that tries to access http://mydomain.com/folder1/ to be redirected to: http://mydomain.com/folder2/

how do I do it without using hard link like
Code:

ln folder2 folder1
?

I tried to use symbolic link as so:
Code:

ln -s folder2 folder1
and

Code:

ln -s folder2/index.html folder1/index.html
but of course it didn't work (got: folder or file already exsits)

what other options do I have in linux/unix?


thanks

J_K9 06-20-2005 08:33 AM

Well, if you want to redirect an html page to another html page, then add this to the source code:
Code:

<html>

<head>
<title>Redirect Script</title>

<SCRIPT LANGUAGE="JavaScript">

<!-- begin hiding JavaScript from old browsers

                function redirect(){

                        parent.location.href="http://www.google.com"

                }

// End hiding JavaScript -->

</SCRIPT>


</HEAD>

<body bgcolor="#ffffff" text="#000000" link="#8000ff" vlink="#808080" alink="#ff0080">

<h1 align="center">Redirect</h1>

<p>You will be redirected to the new page automatically. </p>

<p>If you are not redirected to the new page within 5 seconds, then please <a href="http://www.google.com">click here</a>.</p>


<SCRIPT LANGUAGE="JavaScript">

<!-- Hide script from old browsers

// set timeout to redirect after 1 seconds

                setTimeout("redirect()",10)

//-->

</SCRIPT>       

</body>

</html>

Obviously, change the "http://www.google.com" bit to link to your web page. :D

J_K9

basher400 06-20-2005 08:47 AM

thanks but things like that I know how to do.

I need to do something on the server side and without editing the index.html files.

jcspray 06-20-2005 10:48 AM

If you want people going to folder1 to go to folder2, then it doesn't make sense for folder1 to actually exist, does it? So to allow you to create a symbolic link called folder1, the existing folder called folder1 must be deleted or moved away.

mv folder1 folder1.bak
ln -s folder2 folder1

basher400 06-21-2005 04:26 AM

Quote:

Originally posted by jcspray
If you want people going to folder1 to go to folder2, then it doesn't make sense for folder1 to actually exist, does it? So to allow you to create a symbolic link called folder1, the existing folder called folder1 must be deleted or moved away.

mv folder1 folder1.bak
ln -s folder2 folder1

no, you see, I have to temporarily make this redirection...
after a while I will un-redirect it

theYinYeti 06-21-2005 04:35 AM

The best way to do that is to configure Apache (or whatever your server is) to do the redirection.
The next best solution is to do this with PHP (for example), hence on the server side, by creating a folder1/index.php file, whose content is something like:
Code:

<?php
header('Location: http://'.$_SERVER['HTTP_HOST'].'/folder2/index.html');
exit(0);
?>

Else, there's Javascript as the previously mentionned fallback solution.

Yves.

hardcorelinux 06-21-2005 06:33 AM

make a .htaccess file and

insert following code to it

Redirect /folder1/index.html http://yourdomain.com/folder2/

save it as .htaccess and put it in folder1, this will redirect all the requests to folder2

basher400 06-21-2005 07:49 AM

Quote:

Originally posted by hardcorelinux
make a .htaccess file and

insert following code to it

Redirect /folder1/index.html http://yourdomain.com/folder2/

save it as .htaccess and put it in folder1, this will redirect all the requests to folder2

that's good advice but my serveradmin (yep, its not my, I'm just a webmaster :)) says we don't have apache on server and can't do .htaccess :(

kees-jan 06-21-2005 08:26 AM

Hmm...
Redirecting means telling the browser he should go to some other place than the one he is currently looking at. Key words here are "telling the browser".

Telling the browser something can be done by javascript or php or .htaccess or whatever your server supports (which one do you have, anyway?)

By creating symbolic links, you will never be able to tell the browser anything. It's just fundamentally impossible. All you can achieve by using symbolic links is telling the server (keyword: "server") that it should feed to the browser a file that is not in the current directory, but somewhere else. The browser, however, will never notice this. As far as it knows, the file it is getting is located at the 'old' location.

So in summary, these are fundamentally different things. You must decide which one best suits your needs.

Groetjes,

Kees-Jan

hardcorelinux 06-21-2005 08:44 AM

I thinki your question is


Quote:


lets say I have 2 folders "folder1" and "folder2"
they are accessed via web as so:
http://mydomain.com/folder1/
http://mydomain.com/folder2/

they both have an index.html file.

I want everybody that tries to access http://mydomain.com/folder1/ to be redirected to: http://mydomain.com/folder2/

This is a webserver related question i think, so i adviced that .htaccess

Quote:

Originally posted by basher400
that's good advice but my serveradmin (yep, its not my, I'm just a webmaster :)) says we don't have apache on server and can't do .htaccess :(
Then which web server you are running ....


All times are GMT -5. The time now is 03:35 AM.