.htaccess将root重定向到一个文件,将所有其他文件重定向到另一个文件

时间:2014-12-16 10:22:41

标签: php .htaccess mod-rewrite redirect

我有2个域使用相同的网站空间,originaldomain.comnewdomain.com

我在newdomain.com的根目录下放置了一个.htaccess文件,以便访问者访问它时,会显示(但屏蔽)以下网址:

originaldomain.com/script.php

我可以使用以下规则获得类似的东西:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^$ http://www.originaldomain.com/script.php [P]

然而,样式表,图片和JavaScript没有加载。我假设有两件事之一:

  1. 它们不适用于mod_rewrite规则,但未找到 当搜索originaldomain.com/item1.jpg时 newdomain.com/item1.jpg
  2. 所有文件可能需要在他们之前填充一个php文件 名称,以便现在正在寻找originadomain.com/item.jpg newdomain.com/portfolio.phpimage1.jpg
  3. 我希望创造一种情况:

    • 如果有人访问newdomain.com/?variables,则会屏蔽并加载 originaldomain.com/script.php?variables
    • 如果有人访问www.newdomain.com/?variables,则会屏蔽并加载 originaldomain.com/script.php?variables
    • 指向来自newdomain.com根目录的所有其他文件请求 originaldomain.com处的相对链接,以便 http://newdomain.com/css/stylesheet.css已加载并屏蔽 http://originaldomain.com/css/stylesheet.css

    感谢任何意见,谢谢。

1 个答案:

答案 0 :(得分:0)

从试错中看,这似乎正在起作用:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^$ http://www.originaldomain.com/script.php [P]
RewriteCond %{REQUEST_FILENAME} !^$ [NC]
RewriteRule ^(.*) http://www.originaldomain.com/script/$1 [P]