我有一个主域名" my_domain.com"和一些子域名(" sub1.my_domain.com"," sub2.my_domain.com" ...)。可以请求主域名为" my_domain.com"和" www.my_domain.com"。
我需要重定向来自" www.domain.com /.../ any_url"的所有请求。到" domain.com"状态为301.或者,最好是来自" www.domain.com /.../ any_url"的所有请求。到" domain.com /.../ any_url"。
我已经阅读了一些教程,但并不了解标准和最简单的方法。该网站正在开发Rails,Passenger,Apache和Linux。
这是/etc/apache2
root@my_user# ls -al
total 88
drwxr-xr-x 7 root root 4096 Dec 26 19:22 .
drwxr-xr-x 111 root root 4096 Dec 23 03:27 ..
-rw-r--r-- 1 root root 8346 Feb 6 2012 apache2.conf
drwxr-xr-x 2 root root 4096 Dec 26 19:09 conf.d
-rw-r--r-- 1 root root 1322 Feb 6 2012 envvars
-rw-r--r-- 1 root root 0 Dec 26 2013 httpd.conf
-rw-r--r-- 1 root root 31063 Feb 6 2012 magic
drwxr-xr-x 2 root root 12288 Apr 16 2014 mods-available
drwxr-xr-x 2 root root 4096 Dec 30 2013 mods-enabled
-rw-r--r-- 1 root root 750 Feb 6 2012 ports.conf
drwxr-xr-x 2 root root 4096 Sep 22 13:22 sites-available
drwxr-xr-x 2 root root 4096 Sep 22 13:22 sites-enabled
我该怎么做?如何通过mod_rewrite,apache2.conf,/ etc / apache2 / sites -available / my_domain.com或使用其他方式?我很困惑。
更新
# ls -al /etc/apache2/sites-available
total 32
drwxr-xr-x 2 root root 4096 Sep 22 13:22 .
drwxr-xr-x 7 root root 4096 Dec 26 19:22 ..
-rw-r--r-- 1 root root 2716 May 16 2014 my_site-old
-rw-r--r-- 1 root root 1499 Sep 22 13:22 my_site.my_domain123.com
-rw-r--r-- 1 root root 950 Feb 6 2012 default
-rw-r--r-- 1 root root 7469 Feb 6 2012 default-ssl
-rw-r--r-- 1 root root 1511 Dec 30 2013 puppetmaster
答案 0 :(得分:0)
Refer this加载mod_rewrite。
使用以下规则,您已定义ServerName www.domain.com
<VirtualHost *:80>
ServerName www.domain.com
# Your existing customizations
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com$1 [R=301,L]
</VirtualHost>
答案 1 :(得分:0)
我是这样做的: 编辑 application_controller.rb ,以便您可以应用&#34;过滤器&#34;对所有其他控制器。
root@Ecommerce:/# nano /home/NAMEAPP/app/controllers/application_controller.rb
进入文件,把它放在:
class ApplicationController < ActionController::Base
before_filter :redirect_subdomain
def redirect_subdomain
if request.host == 'www.dominio.cl'
redirect_to 'http://dominio.cl' + request.fullpath
end
end
end
答案 2 :(得分:-1)
您可以尝试使用rack-rewrite
gem