2

我正在为教堂开发一个新网站。旧域名为: chippingcampdenbaptistchurch.org.uk 新域名为:campdenbaptist.org.uk

campdenbaptist.org.uk 域是 Linux 共享服务器的附加域。在它的文件夹中,它有以下 .htaccess 文件:

RewriteEngine On
RewriteRule !^(dev(/.*)?|www\.chippingcampdenbaptistchurch\.org\.uk)$ http://www.chippingcampdenbaptistchurch.org.uk/ [R,L]

基本上,如果用户要求 JUST campdenbaptist.org.uk,那么他们将被发送到旧站点(位于 www.chippingcampdenbaptistchurch.org.uk 的不同服务器上)。但是,如果他们要求 campdenbaptist.org.uk/dev - 那么他们将被发送到新站点所在的 /dev 文件夹中。

它在 Concrete5 ( http://www.concrete5.org/ ) 上运行,此 /dev 文件夹中的 .htaccess 如下所示:

SetEnv TZ Europe/London

<IfModule mod_rewrite.c>

RewriteEngine On

#=============WWW. REDIRECT===========#
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/dev/$1 [R=301,L]

#=============C5 REDIRECT===========#
RewriteBase /dev/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]

</IfModule>

它基本上检查是否 www. 是否存在(如果没有,请附加它)并处理“C5 重定向”块中的漂亮 URL。

我遇到的问题是,有时服务器似乎会为 AJAX 调用抛出错误(重定向到旧站点),例如以下两个:

http://www.campdenbaptist.org.uk/dev/tools/blocks/booking_form/snag_dates.php?1=1&date=03/16/2013&page=272

(如果您将查询字符串的第一部分中的 1=1 更改为 a=1 之类的东西,这似乎很好?!) - 或

http://www.campdenbaptist.org.uk/dev/tools/required/files/importers/remote?_returntype=text&fIDW&task=update_file&url_upload_1=http%3A%2F%2Ffeatherfiles.aviary.com%2F2012-11-26%2F1d6b111bd5684978a293e193828a181a.jpg&ccm_token53952089%3A5ec7e1b4c88c7e62ba9f5da66b36cef0

有任何想法吗?似乎如果您从上述两个调用中删除查询字符串,则不会发生错误。非常感谢!

4

2 回答 2

0

听起来像是您的一个 php 文件中的硬编码重定向,该文件正在检查查询字符串中的 1,或者可能是需要更改的站点地址的配置变量。

于 2012-11-26T21:05:11.047 回答
0

令人讨厌的是,这是由托管服务提供商引起的 mod_sec 错误。1=1 现已修复,他们目前正在处理 .aviary.com 问题。不管怎么说,还是要谢谢你!

于 2012-11-26T22:49:10.147 回答