我正在使用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”访问,我该怎么办?
感谢您的回答!
答案 0 :(得分:0)
你可以使用这样的文件 -
deny from all
这将阻止任何直接访问
<强>更新强>
我想在根目录中只需要一个.htaccess -
<Files subdirectory/*>
deny from all
</Files>
从子目录中删除.htaccess