2010-03-05 95 views
-1

一个网站有一个现有的系统(让我们叫它mysite) 和客户端要求放入magento。我如何隐藏/ magento /在我的网站的网址?

我的目录结构是这样的:

ROOT  
    -index.php (this is the app's main controller) 
    -.htaccess 
    /blog (runs wordpress) 
    /assets (current system's media folder) 
    /magento (this is where all magento files go) 

问题是,如果我设置了Magento的,并在安装该基地网址是http://example.com指定,Magento的负载高达mysite的

让我别无选择,只能设置基本URL设置为http://example.com/magento/的magento,它运行完美。 但客户希望我感到地狱,并要求我隐藏URL中的magento。

我真的不精通的.htaccess,我只知道简单的重写代码,所以我尝试转发与/magento开始到Magento的文件夹的任何HTTP请求,并想出了:

RewriteCond %{REQUEST_URI} !^/magento(.*) 
RewriteRule (.*) /magento/$1 [L] 

刚当我认为它正在工作时,mysite链接全部变得无法访问,并转发到显示404页的magento系统。

所以,嗯,我可以寻求帮助如何构造的.htaccess隐藏的网址/magento/而不影响当前系统又名mysite的

+0

我认为这取决于你当前的系统* mysite的*。如果它也使用重写技术,则无法区分哪些请求应该重定向到哪个系统(* mysite *或magento)。那么你的系统* mysite *是什么样的?请求如何处理? – Gumbo 2010-03-08 17:11:26

+0

以及在根目录下的电流htaccess的是这个 的RewriteCond%{} REQUEST_FILENAME!-f 的RewriteCond%{} REQUEST_FILENAME!-d 重写规则^(。*)$的index.php [QSA] 使任何不找到转发到根的索引... – lock 2010-03-08 23:32:17

回答

1

从我如何看待问题中,您将无法完全隐藏magento并在同一时间使用您的网站。

如果您在公共文件夹的根要Magento的,你应该只需在虚拟主机到您的Magento安装,但是这会让您的博客和主控制器出了公众的视野。这与您通过将.htaccess中的所有呼叫重定向到magento文件夹所做的或多或少相同。

我建议将magento名称更改为匿名类似于“购物”或“购物车”,并且请记住文件夹重命名在安全性和性能方面优于.htaccess文件。

3

因为你现有的关Webroot公司的应用程序,你无法脱身使用什么代替:

### webroot/.htaccess 
RewriteRule ^whatiwanttouseinsteadofmagento/(.*)$ magento/$1 [L] 
1

让我们来看看它:

RewriteCond %{REQUEST_URI} !^/magento(.*) 

所以我们说的条件是不是/magento(.*)的东西,所以除了那个目录以外的所有东西?这将重定向所有内容,包括您的博客,资产和任何其他目录。

不指定每一个需要被重定向到Magento的目录文件,真的有这样做的没有简单的方法。我想你可以重定向任何不包含“/”的文件,并以扩展名.php结尾到magento目录。这样,只有root web目录中的文件才会重定向到magento,但是如果您在magento目录内使用其他目录,则仍然需要为它们添加单独的规则。

0

这个答案来得很晚,但我猜你想要的东西,像

RewriteCond %{REQUEST_URI} !^/(blog|assets|magento)(.*)$ 
RewriteRule ^(.*)$ /magento$1 [L]