.htaccess将子文件夹重定向到新域

时间:2015-01-19 14:18:44

标签: php apache .htaccess mod-rewrite redirect

我的客户希望使用他们的域名@billpay来屏蔽处理其在线付款的公司提供给我们的网址。我知道如果它是子域名(即billpay.theirdo.com.com),可以通过DNS完成,但我不确定当它是主要的实际附属物时如何去做URL如上所述。我假设这可以通过.htaccess文件完成。这是我现在的代码,但是我收到了500个内部服务器错误:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /croutlet/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>

//301 Redirect Entire Directory
RedirectMatch 301 /billpay(.*) /http://www.google.com/$1

1 个答案:

答案 0 :(得分:0)

这可能不会影响500错误,但尝试仅使用mod_rewrite而不是mod_alias(RedirectMatch指令)和mod_rewrite。当你有路由重写规则时,它们会相互干扰,因为这两个模块都应用于每个请求。

RewriteRule ^billpay(.*)$ http://www.google.com/$1 [L,R=301]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /croutlet/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>

请注意,由于重定向是301(永久),因此除非您清除重定向,否则您的浏览器将始终缓存重定向。