.htaccess重定向子文件夹,但不在地址栏中显示子文件夹

时间:2013-06-21 11:37:42

标签: .htaccess

我的public_html目录中有一个名为landingPages的文件夹,它显然拥有我们所有的目标网页。

问题是Google AdWords上的所有网址都设置为public_html文件夹,例如:

http://www.example.com/landingPage1.php

将所有文件放在新的landingPages目录中是为了清理public_html目录并稍微分离所有内容,但我们要避免更改所有URL。

如果您在浏览器中转到http://www.example.com/landingPage1.php,它实际上会在landingPages文件夹中加载,以便在后台调用http://www.example.com/landingPages/landingPage1.php,我希望如此。

我已经尝试了一些东西,但似乎无法找到一个捕获所有版本来确定浏览器中的请求是否存在于landingPages文件夹中,如果是,则重定向或者如果这样捕获所有请求尽可能。

如果没有,我想我必须为我想要重新定向的每个文件手动创建规则,包括我未来创建的Landing Pages,这是我在这里要避免的。

1 个答案:

答案 0 :(得分:1)

将此代码放在网站根目录下的.htaccess中,这将检查该文件是否存在于landingPages文件夹中,如果是,则会加载该文件的内容。

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{DOCUMENT_ROOT}/landingPages/$1 -f [NC]
RewriteRule ^([^/]+)$ /landingPages/$1 [L,QSA]