我有一个站点设置并且运行良好,位于Silverstripe cms。我创建了一个PHP脚本(不是插件)来进行一些文件转换。我将脚本上传到站点根目录,并在其中创建了一个.htaccess,其中包含“Allow from all”,并且我将777授予了文件夹权限,以允许从浏览器访问此脚本。但是,该网站的“找不到页面”页面会显示出来。
有人可以解释我在这里缺少的东西吗? 这是htaccess文件中的一些条件:
RewriteCond %{REQUEST_URI} !(\.gif)|(\.jpg)|(\.png)|(\.css)|(\.js)|(\.php)$
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]
这是当前的htaccess文件:
Options +FollowSymlinks
### SILVERSTRIPE START ###
<IfModule mod_dir.c> DirectorySlash Off </IfModule>
RewriteEngine On RewriteBase / RewriteRule ^index.html$ http://www.domain.com/ [R=301,L] RewriteCond %{REQUEST_URI} !(\.gif)|(\.jpg)|(\.png)|(\.css)|(\.js)|(\.php)$
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_URI} !^/csv_compare
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]
### SILVERSTRIPE END ###
答案 0 :(得分:1)
我不熟悉Silverstripe,但听起来根htaccess可能会重定向。但是,所有/ 777允许的安全性有点冒险!
编辑:查看https://github.com/silverstripe/silverstripe-installer/blob/master/.htaccess处的htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
如果请求不是有效文件,那就告诉系统重定向到框架。如果您需要一个目录,那可能就是问题所在。您可以在上面的行之前添加以下内容:
RewriteCond %{REQUEST_FILENAME} !-d