CodeIgniter和特定的重写规则



在我的CodeIgniter网站上,我想添加一个特定的重写规则,以便http://www.exemple.com/cache.manifest

将重写为

http://www.exemple.com/controller/manifest

(因为Safari 7似乎只接受ApplicationCache的.manifest文件)

所以我试着把这行添加到我的htaccess 中

RewriteRule ^cache.manifest$ controller/manifest

我在其他重写规则之前添加了它:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^cache.manifest$ controller/manifest
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

但它返回404。如果我把线路改成

RewriteRule ^cache.manifest$ test.html

它是有效的。因此,我的规则的第一部分是正确的。

如果我尝试直接访问www.example.com/controller/manifest,它可以访问,所以我的url是正确的。

我也试过

RewriteRule ^cache.manifest$ index.php/controller/manifest [L]

但它也不起作用…

有线索吗?

非常感谢

我在本地服务器上尝试了一些测试,我认为以下可能有效:

RewriteRule ^cache.manifest$ /index.php/controller/manifest [R,L]

我不完全确定您是否需要前导的"/"或"/index.php",所以您可能需要进行实验。

您需要[R]标志来强制重定向。在这种情况下,您需要Apache在URL中查找字符串cache.manifest,然后转到CI页controller/manifest

看来您需要明确设置重定向。

请告诉我这是否有效。祝你好运

相关内容

  • 没有找到相关文章

最新更新