将URL重定向到另一个

时间:2015-12-26 06:41:28

标签: php apache .htaccess redirect amazon-ec2

我正在使用AWS EC2实例来托管网站。我在/ var / www / html / xyz / dir&因此,如果我必须访问网站主页,我必须指定链接为www.example.come / xyz。我希望将www.example.com重定向到www.example.com/xyz

任何想法如何自动将www.example.com重定向到www.example.com/xyz(httpd config或类似的东西)?

我在网上查了一下,但大多数帖子都与子域名重定向相关,例如将admin.example.com重定向到www.example.com,这不是我的问题。

谢谢!

我的.htaccess文件是:

<IfModule mod_rewrite.c>
RewriteEngine on
# Some hostings require RewriteBase to be uncommented
# Example:
# Your url is http://www.yourcompany.com/xyz
# So "RewriteBase" should be:
# RewriteBase /xyz

Options -MultiViews
RewriteBase /xyz

RewriteCond %{REQUEST_URI} ^api/(.*)$ [or]
RewriteCond %{REQUEST_URI} .*/api/(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*api/(.*)$ api.php?_d=$1 [L,QSA]

RewriteCond %{REQUEST_URI} \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml)$ [or]
RewriteCond %{REQUEST_URI} store_closed.html$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)\/(.*)$ $2 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L,QSA]

</IfModule>

5 个答案:

答案 0 :(得分:1)

使用以下代码

创建新的.htaccess文件

RewriteEngine on RewriteCond %{REQUEST_URI} ^/$ RewriteRule (.*) /xyz/ [R=301]

你应该启用mod_rewrite。

答案 1 :(得分:1)

另一种选择是更改站点的文档根目录。如果您正在运行Ubuntu,则应该在/etc/apache2/sites-available/YOUR_SITE.conf(可能是default.conf)中有一个文件。只需编辑它,然后将DocumentRoot更改为指向您的子文件夹。

答案 2 :(得分:0)

在htaccess文件中使用此代码,这会将用户重定向到子文件夹,而不会更改网址www.domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com$ [NC]
RewriteRule !^subdir/ /subdir%{REQUEST_URI} [L,NC]

使用网址www.domain.com/subdir

的另一种方法
RewriteEngine On
RewriteRule ^$ /subdir[L]

答案 3 :(得分:0)

您可以在Root / .htaccess中使用以下代码:

RedirectMatch ^/$ /xyz

这将重定向

http://example.com

http://example.com/xyz

你想要重写 http://example.com/foohttp://example.com/xyz/foo,你可以使用mod_rewrite:

RewriteEngine on


RewriteRule ^/?((?!xyz).*)$ /xyz/$1 [L]

答案 4 :(得分:0)

希望这会有所帮助!

RewriteEngine on
RewriteCond %{HTTP_HOST} domain\.com [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ /subfolder/$1 [L]

或者

Redirect 301 /path/to-old-url http://www.cyourdomain.com/path/to-Try this new-url