我正在使用一些以前在 apache2 上始终有效的重写指令,但现在尝试新的共享主机并且重写规则似乎没有得到应用。
我已将 .htaccess 文件简化为以下基本规则:
RewriteEngine On
Rewritebase /demo/
RewriteRule ^(.*)$ index.php/$1 [L]
如您所见,我想从根目录重写对演示文件夹中我的 index.php 文件的每个请求。
因此,像http://www.example.com/demo/albums/show/1这样的所有内容都应该由http://www.example.com/demo/index.php处理以进行标准 MVC 设置。(顺便说一句,我正在使用 CodeIgniter)
上面的指令导致 500 错误,所以我想可能是因为 1.3 和 2.x 之间可能存在一些语法差异。
经过一些跟踪和错误编辑后,我发现重写规则本身有问题,但我真的不明白为什么。
- 关于为什么我的重写规则不起作用的任何想法?它以前在许多不同的服务器上做过。
- 建议如何解决?
注意: mod_rewrite 确实有效,我已经写了一个小测试来确定。