我正在对cms进行维护工作,并找到了以下htaccess文件:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
我无法理解它。 寻找htaccess文件的原因是: 我在index.php中放了一些代码(现在只是将一些字符串打印到文件中但是 最终将做横幅循环)并且我注意到当我加载index.php时,字符串会被打印几次。可以与htaccess文件有一些连接吗?
任何输入都提前thanx。
答案 0 :(得分:0)
请求是针对Web服务器上的文件,拒绝访问index.php
RewriteCond %{REQUEST_FILENAME} !-f
请求是针对Web服务器上的物理目录,拒绝访问index.php
RewriteCond %{REQUEST_FILENAME} !-d
除上述以外的任何内容,重定向到index.php
RewriteRule ^(.*)$ index.php/$1 [L]
答案 1 :(得分:0)
这只是检查文件是否存在(作为文件-f或目录-d)。如果没有,则获取地址并将其传递给index.php。
例如,如果你要求:
www.mysite.com/badfile.html
你会得到:
www.mysite.com/index.php/badfile.html
这应该对index.php中的代码如何运行没有影响。这只会影响请求不存在的文件和目录时发生的情况。