使用.htaccess从网址中删除文件夹

时间:2015-09-18 21:36:12

标签: regex apache .htaccess mod-rewrite redirect

我知道还有很多类似的问题,我尝试了其中一些问题,但没有运气。

我有一个名为test.com的网站,当有人为test.com展示内容时,我需要这个网站在test.com/home中显示内容,而没有回家。

我的htaccess文件目前看起来像这样:

RewriteEngine on
RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule    /(.*) home/$1    [L]
    RewriteRule    /home/(.*) /$1    [L,R=302]

RewriteOptions inherit

RewriteCond %{HTTP_HOST} ^test\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.test\.com$

但是当我键入test.com时,它显示的是文件夹列表,而不是家中的内容。

我做错了什么?

感谢

1 个答案:

答案 0 :(得分:1)

您可以在root .htaccess

中简化规则
RewriteEngine on
RewriteBase /

RewriteRule ^$ home/ [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((?!home/).+)$ home/$1 [L,NC]

确保在测试之前清除浏览器缓存。