【问题标题】:Mod_rewrite and subdirectory accessMod_rewrite 和子目录访问
【发布时间】:2013-11-08 10:04:53
【问题描述】:

我试图拒绝访问 www-root 中的几个子目录(使用特定 url 时)。

我的目标是:

使 domain.com/subdir{1-3} 拒绝访问。

使 subdir{1-3}.domain.com 指向 %{DOCUMENT_ROOT}/subdir{1-3}。已经可以了。

我想在不使用 .htaccess 文件的情况下将规则写入 httpd.conf,并且尽可能只使用一个目录部分。

这是我尝试过的:

<Directory "/var/www/subdir1">
  <IfModule rewrite_module>
    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/subdir1 [NC]
    RewriteRule ^.* - [F]
  </IfModule>
</Directory>

但是不行。

//E

得到它的工作,这是我所做的:

<Directory />
  <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/subdir1/ [OR]
    RewriteCond %{REQUEST_URI} ^/subdir2/ [OR]
    RewriteCond %{REQUEST_URI} ^/subdir3/ [OR]
    RewriteCond %{REQUEST_URI} ^/subdir4/
    RewriteRule .* - [F]
  </IfModule>
</Directory>

有什么我应该改变以使其更安全的吗?

除了指向 ownclouds 根目录的 subdir3 之外,一切正常。一定和ownclouds自己的重写规则有关:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^.well-known/host-meta /public.php?service=host-meta [QSA,L]
RewriteRule ^.well-known/host-meta.json /public.php?service=host-meta-json [QSA,L]
RewriteRule ^.well-known/carddav /remote.php/carddav/ [R]
RewriteRule ^.well-known/caldav /remote.php/caldav/ [R]
RewriteRule ^apps/calendar/caldav.php remote.php/caldav/ [QSA,L]
RewriteRule ^apps/contacts/carddav.php remote.php/carddav/ [QSA,L]
RewriteRule ^apps/([^/]*)/(.*\.(css|php))$ index.php?app=$1&getfile=$2 [QSA,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
</IfModule>

欢迎提示。

【问题讨论】:

  • 在你的 htaccess 文件中吗?
  • 不,它在 httpd.conf 中

标签: apache .htaccess mod-rewrite subdirectory


【解决方案1】:

试试:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^subdir1 - [L,F]
RewriteCond %{HTTP_HOST} ^subdir1\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subdir1/
RewriteRule ^(.*)$ /subdir1/$1 [L]

对于“subdir1”。

【讨论】:

  • 不。 domain.com/subdir1 有效,但 subdir1.domain.com 无效:/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-05
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多