我在端口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] 举报,一经查实,本站将立刻删除。