1

寻找一些帮助,最终绕着圈子试图了解问题可能出在哪里。

我们最近在 www.domain.com 上有了我们的 magento 端,它将通过重写规则购物:“domain.com/”

这是正确的。

然而,由于我们的目标是英国市场,该网站相对较新,我们决定购买 .co.uk 域名并进行转换。使它成为 www.domain.co.uk,这在 magento 数据库/后端中都已正确更改,但现在开始显示:“domain.co.uk”

最后缺少正斜杠。

我已经在 mysql 数据库中确认该 URL 有一个斜杠,甚至从 .htacess 中关闭了 mod_rewrite,但仍然存在从某处发生的重写。

自从我在上一个站点上设置它以删除“http://”并添加正斜杠以来,这似乎永远不会发生,但我不记得我是如何设置的或在哪里设置的。

如果有人能指出我正确的方向,将不胜感激。

亲切的问候

编辑:下面是重写的代码:

<IfModule mod_rewrite.c>

############################################
## enable rewrites

    Options +FollowSymLinks
    RewriteEngine on

############################################
## you can put here your magento root folder
## path relative to web root

    RewriteBase /

############################################
## uncomment next line to enable light API calls processing

#    RewriteRule ^api/([a-z][0-9a-z_]+)/?$ api.php?type=$1 [QSA,L]

############################################
## rewrite API2 calls to api.php (by now it is REST only)

    RewriteRule ^api/rest api.php?type=rest [QSA,L]

############################################
## workaround for HTTP authorization
## in CGI environment

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

############################################
## TRACE and TRACK HTTP methods disabled to prevent XSS attacks

    RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
    RewriteRule .* - [L,R=405]

############################################
## redirect for mobile user agents

    #RewriteCond %{REQUEST_URI} !^/mobiledirectoryhere/.*$
    #RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
    #RewriteRule ^(.*)$ /mobiledirectoryhere/ [L,R=302]

############################################
## always send 404 on missing files in these folders

    RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

############################################
## never rewrite for existing files, directories and links


    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

############################################
## rewrite everything else to index.php

    RewriteRule .* index.php [L]

</IfModule>
4

1 回答 1

1

确保更新 core_config_data 表中 web/unsecure/base_url 和 web/secure/base_url 的所有实例,我建议在此表中搜索所有值,例如 %domain.co.uk%。还要删除缓存文件夹,因为使用管理员清除缓存按钮未完全删除某些配置值。

你确定有一个实际的重定向发生吗?尝试使用此站点http://redirectcheck.com来查看您是否真的被重定向。某些浏览器不会显示 http:// 或尾随 /,因此它可能不是实际问题。

如果您需要将非 www 重定向到 www,则将以下行添加到您的 .htaccess 文件中的“RewriteEngine on”下方

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
于 2013-04-14T18:35:00.963 回答