根文件夹中的.htaccess

时间:2016-04-09 12:08:31

标签: php apache .htaccess mod-rewrite

我正在使用Nette框架,我的托管中的根文件夹存在一些问题。

我的托管结构:

root
    - demo
        - www
           - index.php
    - www

默认情况下,我必须使用此URL地址“www.demo.example.com/www”来访问文件index.php。但是,我不想访问带有“www”postfix的网站。 Soooo我在根文件夹中创建了这个.htaccess文件。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ /www/ [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^/www/
    RewriteRule ^(.*)$ /www/$1
</IfModule>

并在demo / www文件夹中我正在使用此.htaccess

    # Apache configuration file (see httpd.apache.org/docs/2.2/mod/quickreference.html)

# disable directory listing
Options -Indexes

# enable cool URL
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # prevents files starting with dot to be viewed by browser
    RewriteRule /\.|^\. - [F]

    # front controller
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>

# enable gzip compression
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>

# allow combined JavaScript & CSS. Inside of script.combined.js you could use <!--#include file="script.js" -->
<IfModule mod_include.c>
    <FilesMatch "\.combined\.(js|css)$">
        Options +Includes
        SetOutputFilter INCLUDES
    </FilesMatch>
</IfModule>

但是通过这种方式,我可以使用“www.demo.example.com”和“www.demo.example.com/www”访问网站,但我不希望使用前缀“www”访问,我该怎么办?

感谢您的回答!

1 个答案:

答案 0 :(得分:0)

你可以使用这样的文件 -

deny from all
  

这将阻止任何直接访问

<强>更新

我想在根目录中只需要一个.htaccess -

<Files subdirectory/*>
    deny from all
</Files>
  

从子目录中删除.htaccess