微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在默认80以外的其他端口上运行magento

我在端口8080上configuration了Apache虚拟主机,指向我的magento网站。

Listen 8080 <VirtualHost 6x.2x.6x.1x:8080> ServerAdmin webmaster@localhost ServerName domainname.com ServerAlias *.domainname.com DocumentRoot /var/www/sites/domain/ <Directory /> Options FollowSymLinks AllowOverride all Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug,info,notice,warn,error,crit,# alert,emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On <LocationMatch ".*svn.*"> Order allow,deny Deny from all </LocationMatch> </VirtualHost>

当我去到网站www.domain.com:8080的JS,CSS,IMG和其他东西都不加载,因为端口没有连接到链接

这是一个重写规则在magento .htaccess似乎并不工作:

<IfModule mod_rewrite.c> ############################################ ## enable rewrites Options +FollowSymLinks RewriteEngine on ############################################ ## you can put here your magento root folder ## path relative to web root #RewriteBase /magento/ ############################################ ## workaround for HTTP authorization ## in CGI environment RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] ############################################ ## 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 RewriteCond %{SERVER_PORT} !^8080$ RewriteRule .* http://6x.2x.6x.1x:8080/index.PHP [L] </IfModule>

Rewrite-mod是在不同端口上运行magento站点的正确解决scheme吗? 如果是,我现在的重写规则中的错误在哪里?

在Ubuntu 12.04上将PHP从5.3升级PHP 5.6

设置虚拟主机,不能再访问http:// localhost

如何找出是什么让我的PHP应用程序挂起Apache服务器?

Djangofile upload偶尔失败

如何查看MultipartForm请求的内容

谢谢,

Margots

PHP如何与Apache接口?

重新configurationApache以从新的PHP代码和旧的Django站点的特定子网站提供网站根目录

试图让Pyramid在Apache + mod_wsgi下运行,但是它失败了

不同的VirtualHosts具有相同的端口

通过Internet访问XAMPP中的多个站点(非本地主机)

我管理一个magento站点,在一个服务器上运行一个在线商店的端口80,一个开发站点在另一个服务器上的端口3000上运行。当从live到dev复制站点时,我只需要在core_config_data中更改两行桌子,有:

路径= “网/不安全/ BASE_URL”

PATH = “网络/安全/ BASE_URL”

您需要在网址的末尾添加您的端口号,这就是全部。 在我的情况下,这两行看起来像这样:

(config_id,scope,scope_id,path,value)

认为0,web / unsecure / base_url, http://www.dev-server.com: 3000/)

认为0,web / secure / base_url, http://www.dev-server.com: 3000/)

请注意,我的开发者服务器上没有证书,所以我没有使用https作为安全的base_url。 如果您希望使用https,则应将此设置更改为https,最后应省略自定义端口。

标准的.htaccess文件修改是不需要的,应该可以避免。

编辑

如果你没有访问数据库,你可以尝试创建一个PHP文件,它将使用magento修改数据库

<?PHP error_reporting(E_ALL); ini_set('display_errors','1'); require_once ( "app/Mage.PHP" ); Mage::app('default'); $db = Mage::getSingleton('core/resource')->getConnection('core_write'); $db->query("UPDATE `core_config_data` SET `value` = 'http://dev-server.com:3000/' WHERE `path` = 'web/secure/base_url';"); $db->query("UPDATE `core_config_data` SET `value` = 'http://dev-server.com:3000/' WHERE `path` = 'web/unsecure/base_url';"); ?>

你需要把这个文件放在根magento文件夹中,或者把路径改成Mage.PHP,如果你把它放在别的地方。

我没有尝试过(因为我不想杀我的店),但我想你可以在Magento Admin中更改端口。

在系统/配置/ Web /基本URL。 试着将端口添加到那里的URL。 那样有用吗?

你不能用mod_rewrite重写一个Magento写在它的HTML输出中的URL。 请求到错误的URL(没有:8080端口)甚至不会到达您的服务器。

更新:

查看HTML输出的源代码(iE使用Webbrowser进入您的商店,然后按CTRL-U或其他)。 像以下这样的标签是否有正确的URL,包括端口?

<script type="text/javascript" src="http://yourstore.com:8080/js/prototype/prototype.js"></script>

显示的所有方法似乎都使用一个非常复杂的过程来执行此操作。

这是非常简单的,改变URL包括端口在管理>系统>配置>网络>网址

在那里你可以定义基本的URL,皮肤和媒体网址。

你错过了这个:

NameVirtualHost 6x.2x.6x.1x:8080

也许你刚刚没有复制,因为您的网站正在工作?

如果Magento从错误网站加载图片,那么在Magento的.htaccess文件中没有任何可以做的事情:图片请求永远不会到达那里。 他们会去任何你在80端口上运行的其他web服务器。

你只能有这个问题,如果Magento正在建立包括协议和主机绝对链接一个非常毫无意义的带宽浪费恕我直言)。 我的建议是,你看看应用程序设置,看看是否有一个地方来指定网站的基本网址(因为应用程序似乎无法自己找到它)。

(我试图访问Magento的演示网站,但它需要注册。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐