只能访问index.php,.htaccess只允许访问index.php和目录

用户试图通过Apache的.htaccess文件配置重定向,以使所有流量通过index.php处理,并限制对非静态资源的访问。遇到的问题是,除了js、css和图像等文件外,其他所有URL都返回403错误。用户已经尝试了Deny和Allow规则,但配置似乎不正确,导致预期的重定向和访问控制没有生效。
摘要由CSDN通过智能技术生成

我在用

RewriteEngine On

RewriteRule ^.*$./index.php

通过index.php重定向我的所有网站流量,让我的PHP代码获取request_uri并相应地路由每个请求.

我想限制访问除了包含js文件,css文件,图像等的所有其他文件/目录.

我发现要这样做我可以使用:

Order deny,allow

Deny from all

Order Allow,Deny

Allow from all

然后在公共目录中有另一个.htaccess文件以允许某些文件类型.

当我导航到localhost / mysite / index.php时,它可以正常工作,因为index.php文件是可访问的.

但是对于任何其他网址我得到403,例如/ mysite / home /被禁止,即使我期望它正常工作.

我能做些什么来获得预期的行为?

我的完整.htacces文件是:

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^.*$./index.php

Order deny,allow

Deny from all

Order Allow,Deny

Allow from all

编辑:/public/.htaccess目前看起来像这样:

Allow from all

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在ThinkPHP 3.2.3中,可以通过修改.htaccess文件或者在Apache配置文件中增加重写规则来实现隐藏index.php和Home。 方法一:修改.htaccess文件 1. 首先,确认你的服务器支持.htaccess文件,并且.htaccess文件已经开启。 2. 在项目根目录下新建.htaccess文件,并添加以下内容: ``` RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] ``` 3. 保存并上传.htaccess文件到服务器根目录。 4. 修改配置文件config.php,将URL_MODEL参数改为2。 ``` 'URL_MODEL' => 2, ``` 5. 访问项目时,可以通过访问http://域名/控制器/方法 的方式来访问,而不需要在URL中加上index.php或Home。 方法二:在Apache配置文件中增加重写规则 1. 打开Apache配置文件httpd.conf,搜索LoadModule rewrite_module modules/mod_rewrite.so,并确保该模块已开启。 2. 在VirtualHost标签中添加以下内容: ``` <Directory "/var/www/html"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> ``` 其中/var/www/html为项目根目录,AllowOverride All表示允许.htaccess文件中的重写规则生效。 3. 在.htaccess文件中添加以下内容: ``` RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] ``` 4. 修改配置文件config.php,将URL_MODEL参数改为2。 ``` 'URL_MODEL' => 2, ``` 5. 访问项目时,可以通过访问http://域名/控制器/方法 的方式来访问,而不需要在URL中加上index.php或Home。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值