我正在尝试将所有php文件放在一个单独的文件夹中,这是我的尝试
在.htaccess
。
DirectoryIndex /PUBLIC/index.php
RewriteEngine on
#Startpage Header Banner
RewriteRule ^header_banner(.*) PUBLIC/template/start/header_banner/$1
#Public files
RewriteRule ^css(.*)\.css PUBLIC/css/$1\.css
RewriteRule ^js(.*)\.js PUBLIC/js/$1\.js
RewriteRule ^symbol(.*) PUBLIC/symbol/$1
#All PHP Requests
RewriteRule ^(.*)\.php /RESOURCES/$1\.php
一切正常但是当我想将我的php请求重定向到另一个文件夹的最后一行时,我收到了这个错误。
当我将扩展程序更改为.html
RewriteRule ^(.*)\.php RESOURCES/$1\.html
或其他内容时,代码正常运行。
为什么服务器会抛出异常?
答案 0 :(得分:1)
添加,
RewriteCond %{REQUEST_FILENAME} !-f
以上
RewriteRule ^(.*)\.php /RESOURCES/$1\.php
可以帮你完成工作。由于您所做的请求不是实际的PHP文件,RewriteCond %{REQUEST_FILENAME} !-f
会传递条件并处理规则。
单独指定RewriteRule ^(.*)\.php /RESOURCES/$1\.php
会使网页重定向次数太多次,因为您所做的请求的扩展名为php
,目标文件的扩展名为.php
好。