htaccess隐藏所有页面中的子文件夹

时间:2016-04-15 13:14:32

标签: .htaccess hide subdirectory

我找到了类似的主题,但不是一个适合我的答案。

我的htaccess实际上是:

RewriteEngine on


# remove www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [NE,R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?publigraphix\.com$
RewriteRule !^Jomla_344french/ /Jomla_344french%{REQUEST_URI}  [L]/Jomla_344french%{REQUEST_URI}  [L]

有了这个,我可以在我的主页的网址中隐藏子文件夹,但是再打开我的网站的任何页面都会显示。

如何在所有网页上隐藏网址中的子文件夹?

感谢您的帮助,这是我的第一篇文章。 问候,

苏珊

感谢您的帮助。现在我的htaccess是这样的:     RewriteEngine on     RewriteCond%{HTTP_HOST} ^(www。)?publigraphix.com $     RewriteCond%{THE_REQUEST} /Jomla_344french/(.*)\sHTTP [NC]     RewriteRule ^ /%1 [NE,L,R]     RewriteCond%{HTTP_HOST} ^(www。)?publigraphix.com $     RewriteRule!^ Jomla_344french / Jomla_344french%{REQUEST_URI} [NC,L]

对于主页,这样可以正常工作,但在子页面中,网址显示/index.php/并出现404错误(例如网址显示:publigraphix.com/index.php/tampons而不是publigraphix.com/tampons ...) 你有好主意吗?

1 个答案:

答案 0 :(得分:0)

要隐藏子文件夹,您可以使用

RewriteEngine on


# remove www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [NE,R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?publigraphix\.com$
RewriteCond %{THE_REQUEST} /Jomla_344french/(?:index\.php/)?(.*)\sHTTP [NC]

RewriteRule ^ /%1 [NE,L,R]
RewriteCond %{HTTP_HOST} ^(www\.)?publigraphix\.com$
RewriteRule ^((?!Jomla_344french).*) /Jomla_344french/index.php/$1  [NC,L]