htaccess mod_rewrite重定向到目录而不显示在url上

时间:2014-09-09 13:29:24

标签: php .htaccess mod-rewrite

我有一个名为www.example.com的网站,我有我的php文件。我将所有工作文件存储在www.example.com/site中。我希望在www.example.com中查看该网站,而无需移动我的网站内容。我该怎么办?

这是我正在输入的内容.htaccess。它会将我的网站重定向到www.example.com/site,但我认为该网址很难看

RewriteEngine on
RewriteBase /

RewriteRule ^(/.*|)$ /magento$1 [NC,L]

2 个答案:

答案 0 :(得分:0)

您必须考虑以下两件事:

如果我理解了您的请求,您正在使用www.example.com访问某些PHP文件,但您想要的是访问www.example.com/site,但没有/site,对吧?

所以基本上,你要找的是不重写,它只是将你的域指向好文件夹,即/site,对吗?

  • 如果您正在使用Apache2,则必须在/etc/apache2/site-available/default中编辑您的apache配置文件(或使用您可能已创建的虚拟主机的名称重新设置default)。

在此文件中,查找指令DocumentRoot。它应该指向您网页的“根”目录(您输入的目录键入www.example.com) 我认为您只需将/site附加到此DocumentRoot,然后使用service apache2 reload重新加载您的apache2 您的网站www.example.com现在将转到正确的目录。

如果它仍然不起作用,你必须考虑查看magento的管理员,因为magento根据你在Base URL内指定的Admin / Configuration / general / web重写网址。 您必须同时修改Base_URLSecure部分中的Un-Secure

然后它应该工作正常。 我会评论你目前正在使用的Rewrite集团,或者我没有完全找不到你想要实现的目标。

答案 1 :(得分:0)

让我看看我是否理解正确。

您有一个domanin,www.example.com,并且在此域中您想要显示目录的内容,www.example.com / site!?

如果是这种情况,则需要更改文档根目录

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteCond %{REQUEST_URI} !^/site
RewriteRule ^(.*)$ /site/$1 [L]

RewriteEngine on
RewriteBase /

RewriteRule ^(.*)$ /site/$1 [L,NC]