我使用的是在VirtualHosts中通过以下几行实现的友好的url解决方案

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ script.php?$1

所以我可以使用类似http://example.com/something/something/else/other/things/的网址

但是,我该如何向请求任何具有以/开头的文件夹的url的用户发送404状态。 (它不必存在)

Example: http://example.com/.svn/this/should/be/404
Example: http://example.com/other/things/.cannot/access/here
Example: http://example.com/this/should/be/.denied

不应拒绝的示例:

Example: http://example.com/t.his/is/ok

我尝试过使用FilesMatch和DirectoryMatch,但这更多是虚拟路径,我无法使其正常工作。 谢谢您的帮助

#1楼 票数:1

如果我理解这个问题,那么您希望在某些尝试访问隐藏目录或目录的时候抛出404错误? 如果是这样的话,下面的方法可以做到,尽管我不能说它不适用于不存在的文件。

RewriteRule“(^ | /)”。 -[R = 404,L]

HTML5 Boilerpplate有一个非常漂亮且有据可查的.htaccess文件,我建议您检查一下。 http://html5boilerplate.com/

  ask by Marius translate from so

未解决问题?本站智能推荐:

1回复

在具有隐藏端口的子域上设置Ghost-具有Apache的WindowsServer2008

在开始之前,我应该说我在Windows Server 2008 R2上运行XAMPP。 我的防火墙和port 2368都允许有node.exe 。 我也一直遵循这里的指示,但没有成功。 我在这里安装了 Ghost 。 如您所见,Ghost仅将端口作为Web地址的一部分进行加载。
1回复

Apache2Vhost不适用于Symfony2.8

我开始了symfony 2.8项目,但是Apache2虚拟主机存在问题。 当我尝试获取管理主页时,出现404错误。 那是我的项目虚拟主机文件(具有777的测试权限)在/ etc / apache2 / sites-enabled目录中: (我在创建文件后重新启动了apache2服务)
1回复

在nodejs网站中将wordpress用于/博客路由不起作用

我在apache2服务器配置中创建了一个如下所示的虚拟主机: 我正在使用别名将/ blog网址(test.co/blog)重定向到服务器中的wordpress文件夹。 我正在为nodejs网站使用proxypass。 但是当我点击test.co/blog时,它显示在我的nodejs网
1回复

ApacheServerName*通配符不适用于vhost_dbd_module

我正在尝试使用vhost_dbd_module将虚拟主机迁移到mysql数据库。 在网上找到的各种示例中,它们指示我在VirtualHost中使用“ ServerName *”作为通配符。 当我以这种方式配置我的VirtualHost时,服务器只是默认回到默认的DocumentRoot。
1回复

如何使用Apache禁用文件夹索引?

我在 Debian 上的虚拟主机有以下条目 但是Apache仍然显示所有内容 https://i.stack.imgur.com/uW2Z6.png 任何的想法?
1回复

子域指向某些文件夹

我的域名将所有子域都指向服务器: domain.com client.domain.com 我试图考虑一种虚拟主机配置,该配置将自动采用子域的第一部分并将此文件夹设置为文档根目录,例如: client.domain.com => /path/to/vhost/domain.co
1回复

Passenger列出了所有文件,而不是运行我的Rails应用程序

我正在尝试将Rails应用程序添加到另一个应用程序的目录中,并且由于某种原因导轨应用程序未呈现 这是我的应用程序的链接 这是VHOST 但Rails应用程序显示所有文件。 此服务器上安装了乘客和所有内容,因为Rails站点位于design.transprintusa.com。
2回复

MediaTemple(dv)vhosts配置文件在哪里存在?

此问题特定于MediaTemple Dedicated-Virtual服务器。 当我通过Plesk Panel添加新的虚拟主机时,vhost配置保存在哪里? 没有/etc/httpd/conf/httpd-vhosts.conf并且/var/www/vhosts/mydomain.com/