ecshop在godaddy虚拟主机url重写失败
2009-12-14 18:07 来源:www.chinab4c.com 作者:ecshop专家
ecshop电子商务的url重新在godaddy虚拟主机下,还真是有问题.不论你如何去开启后台设置。总是没用.去论坛找了不少帖子,才找到了最终的解决办法。ecshop的url重写问题确实很复杂
以下假设: 根目录: /aa 你网站目录: /aa/bb 一,如果你是架设的虚拟主机 你可能是这样访问你的站点的: http://xxx.com 你的网站目录可能需要如下规则(httpd.conf) <Directory /aa/bb> Options FollowSymLinks AllowOverride All Order deny,allow Allow from all </Directory> 不过为安全性考量 AllowOverride All 你不必设置为All. 参考如下: All: 全部权限可重写 AuthConfig: 网页验证权限可重写 Indexes: Indexes重写 Limits: 允许Order Allow,Deny管理权限的重写 None: 不可重写 所以,当你的目录下的规则的 AllowOverride 设为 None 时,你网站目录下官方提供的 .htaccess 是不起作用的. 如果你开始不熟悉,建议设为 All 好了.不过你可能要经过你的虚拟主机提供方系统管理人员的同意. 其实, 在 httpd.conf 里, 有段对 DocumentRoot 的目录规则: DocumentRoot /aa <Directory /aa> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> 如果你的网站目录在 /aa 目录下 , 你可以直接把上面红色的 设为 All .那么,我一开始说的那个 "你可能需要如下规则" 的那块就可以不需要了,因为/aa 目录下的AllOverride会被继承到 /aa/bb 目录. 因为你的是虚拟主机,因此肯定会有你的主机配置: <VirtualHost *:80> ServerAdmin XXX@XXX.com DocumentRoot /aa/bb ServerName xxx.com </VirtualHost> 你可能是这样访问你的站点的: http://xxx.com 看到 DocumentRoot /aa/bb 这句了吗? 在官方提供的 .htaccess 文件里有这句: RewriteBase / , 呵,它在虚拟主机里这样写是对的,因为虚拟主机配置规则里声明了 DocumentRoot了, 因此在 .htaccess 文件里用 / 代替网站目录.而这里,正是许多在本机配置url重写不成功的原因. 二, 非虚拟主机 你可能是这样访问你的站点的: http://localhost/bb 1, 像 上面的 "一" 里一样, 你需要让你的 /aa/bb 这个目录支持 .htaccess 里的权限重写. 2, 你需要对 .htaccess 文件作一处更改: RewriteBase / 改为: RewriteBase /bb 补充: 为安全性考量 AllowOverride All 你不必设置为 All 官方提供的 .htaccess 文件只对两个权限作了重写 , 一个是 Limit , 一个是 FileInfo Limit 是对模板做保护,禁止访问模板文件 FileInfo 是对 url 重写 因此, 你可以用 AllowOverride Limit FileInfo 代替 AllowOverride All 建议有问题时先看一下 apache 的错误日志.日志路径和文件名请看 httpd.conf 配置 "ErrorLog" . ^_^ 最后: 如果你已经弄明白了,那么你应该知道当初我发这个帖子时错误在哪了... 其实,前面我做那些步骤都是对的,就是我缺少了最后一步,把 .htaccess 文件里的 RewriteBase / 改为: RewriteBase /comsenz/ecs |
最近更新
常用插件
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...
ecshop热门问答
ecshop热门资料
ecshop父级ID
ecshop成亂碼
ecshopquot
ecshop登录框
golangstruct
ecshop270
ecshop大家
ecshop738
ecshopneed
ecshop遮住了
ecshop伸缩
ecshophot
ecshop主导
ecshop加强购物车
ecshop云不能
ecshop火车采集器
ecshop回答
thinkphpsql
ecshopcache
ecshop转换
ecshopSSL
ecshop宝贝
ecshop救命
ecshopanything
ecshop网站帮助
ecshop模板函数
ecshopLocroc
ecshop庆祝
ecshop老死
最土注册