【问题标题】:Open Cart Endless Loop打开购物车无限循环
【发布时间】:2014-05-22 19:15:20
【问题描述】:

我正在开发一个开放的购物车网站,我正在编辑 .htaccess 文件以允许 SEO 友好的 URL。

如果有帮助,系统位于子目录中。

有些工作是在我接手之前由另一位目前没有提供任何帮助的开发人员完成的。 (我已经取出了实际的网址,因为我目前每个帖子只能发布有限数量的链接)

RedirectMatch permanent ^/$ http://www.furnishingsdirect.co.uk/new
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.furnishingsdirect\.co\.uk [NC]
RewriteRule (.*) http://www.furnishingsdirect.co.uk/$1 [R=301,L]
RewriteEngine on
Options +FollowSymLinks#RewriteCond %{THE_REQUEST} ^.*/index\.php [NC]
RewriteRule ^(.*)index.php$ http://www.furnishingsdirect.co.uk/$1 [R=301,L]

第二个 .htaccess 文件包含:

Options +FollowSymlinks

Options -Indexes

<FilesMatch "\.(tpl|ini|log)">
Order deny,allow
Deny from all
</FilesMatch>

RewriteBase /new/
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

每当我尝试通过 url 访问网站时

http://www.furnishingsdirect.co.uk

http://www.furnishingsdirect.co.uk/new/

它指出“Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。”

在我通过 123 reg 更改网络转发之前,我很肯定这段代码之前没有问题。我转发了家具直接域,以便它始终将用户定向到其中包含商店系统的目录。我认为这是导致问题的原因,123 reg 表示该网站需要一些时间来调整,但我不确定。任何人都可以帮助阐明这种情况吗?任何帮助,将不胜感激。

此域的 DNS 指向虚拟主机,它最初指向 123 reg 持有/转发服务。

【问题讨论】:

  • 我不是重定向专家,但我认为这条规则 RedirectMatch permanent ^/$ http://www.furnishingsdirect.co.uk/new 将始终重定向到 http://www.furnishingsdirect.co.uk/new,即使 URL 已经是 http://www.furnishingsdirect.co.uk/new,因为 Apache 将从 @987654329 应用 .htaccess先是@,然后是http://www.furnishingsdirect.co.uk/new/……不是吗?我认为只有当 URL 不包含该部分时,您才应该重定向到 /new/,不是吗?

标签: .htaccess opencart redirect-loop


【解决方案1】:

你的问题可能出在 config.php 文件中,如果这个常量被定义到你的根目录,并且你的 .htaccess 重定向到你的 /new,你就会进入一个循环。在你的 config.php 文件中查看这个:

// HTTP
define('HTTP_SERVER', 'http://www.furnishingsdirect.co.uk/');

并更改为“/new”。

【讨论】:

    【解决方案2】:
    1. 首先,如果您有 2 个 .htaccess 文件,请使用第二个文件,因为它更接近默认文件,第一个文件有很多更改。或者,如果您发现大量问题,请从 Opencart 站点下载一个新的 .htaccess(适用于 c 的适当版本)。

    2. 第二次检查你的config.php那个

      define('HTTP_SERVER', 'http://domain/');

      define('HTTPS_SERVER', 'http://domain/');

    设置正确。

    除了定义基础之外,您的购物车不需要其他功能,如果您想添加自定义 .htaccess 代码,请在 .htaccess 文件末尾添加(这是我使用某些域重定向的方式例如)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      相关资源
      最近更新 更多