我有一个客户,现在想要点几十个url到他们的主站点。 我已经将它们作为serveralias的在站点apacheconfiguration文件中添加…所以现在所有这些url都指向主站点…非常好。
我的问题是,如果任何这些别名的访问根(即www.domain.com而不是www.domain.com/some-page/),那么我需要redirect到网站内的特定页面即访问domain.com的任何人都可能需要发送到domain.com/special-landing-page/)。 然而,除了登陆页面之外的任何访问都应该照常进行,不需要重新指导。
我一直在与这个争斗了几个小时,似乎无法find最好的解决scheme。 有没有人有什么build议?
编辑:啊,我实际上是这样做,但无法得到它的工作。 任何意见:
ServerName mgi.co.uk ServerAlias mgi.co.uk * .mgi.co.uk ServerAlias central-heating-nottingham.co.uk * .central-heating-nottingham.co.uk
RewriteCond %{HTTP_HOST} ^(www.)?central-heating-nottingham.co.uk$ [NC] RewriteRule ^$ /nottingham [R,L] DocumentRoot /home/ben/sites/mgi/releases/current/mgi WSGIScriptAlias and other WSGI stuff....
更新:我在日志中获得以下输出…
我得到以下输出:
(1)通过/不通过/不通过/不通过/不通过/
127.0.0.1 – – [15 / Jun / 2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial](2)init请求uri / favicon的重写引擎。 ICO
(3)将模式'^ $'应用于uri',并且将'^ $' /favicon.ico”
127.0.0.1 – – [15 / Jun / 2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial](1)通过/favicon.ico
(2)init请求uri / favicon的重写引擎。 ICO
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC] RewriteRule ^$ /special-landing-page [R,L]
张贴你试过的东西。
在configuration文件中使用以下内容来生成重写日志,以查看正在发生的事情
RewriteLogLevel 9 RewriteLog /tmp/rl
事后禁用,因为它可能是一个繁忙的网站相当服务器密集型。