文件不存在时.htaccess重定向

问题描述

| 因此,我正在使用.htaccess将旧站点页面重定向到新站点页面。我文件中的一条典型规则如下: 重定向301 /faqs.PHP http://blueprintprep.com/classroom/faq 奇怪的是,当服务器上存在旧文件时,它工作正常,但是当我删除文件时,最终URL实际上如下所示: http://blueprintprep.com/classroom/faq?/faqs.PHP 蓝火焰到底是怎么回事? 该文件由以下规则组成,这些规则适用于CodeIgniter:     RewriteEngine开     RewriteBase /     RewriteCond%{REQUEST_URI} ^ system。*     RewriteRule ^(。*)$ /index.PHP?/$1 [L]     RewriteCond%{REQUEST_URI} ^应用程序。*     RewriteRule ^(。*)$ /index.PHP?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.PHP?/$1 [L]

RewriteRule ^application_consulting/(.*) http://blueprintprep.com/oneonone/app_consulting [R=301,L]
RewriteRule ^weekend/(.*) http://blueprintprep.com/classroom [R=301,L]
RewriteRule ^workshop/(.*) http://blueprintprep.com/oneonone [R=301,L]
    

解决方法

您可以改用
mod_rewrite
RewriteEngine on
RewriteRule ^/faqs.php$ /classroom/faq [L,R=301]
无论文件是否存在,这都将起作用。 希望能有所帮助。