我使用以下.htacces
从旧页面路由到新页面:
RewriteEngine on
RewriteCond %{REQUEST_URI} /Uploader2.7.0/secureFileUploader.php
RewriteRule ^(.*)$ /uploader/upload [L,QSA]
即使重写规则正确,我也找不到' 404页面' 错误。这个.htacces
位于我网站的根目录。
基于this answer,我改变了:
$config['uri_protocol'] = 'AUTO';
到
$config['uri_protocol'] = 'REQUEST_URI';
这使得重新路由规则正常工作,但CLI停止工作。然后我看到this question表示如果我将' uri_protocol' 更改回
,它会起作用$config['uri_protocol'] = 'AUTO';
有没有办法让两者兼顾?
注意:重写规则有效,问题在于CodeIgniter内部路由。我可以使用RewriteRule
规则或CLI,而不是两者。
修改
我希望网址/Uploader2.7.0/secureFileUploader.php
在内部成为/uploader/upload
,我设法使用上述规则。
/uploader
路径中的 index.php
,upload
是我希望路由到的控制器的名称。
在/uploader
下我有.htaccess
文件隐藏了CodeIgniter的index.php
,它完美无缺:
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
答案 0 :(得分:0)
将您的.htacces文件放在相同级别的应用程序user_guide文件夹中。 所以你的codeigniter文件夹中共有6个文件,包括index.php和许可文本文件以及.htaccess文件。