错误重写规则

时间:2013-10-10 11:22:43

标签: regex apache .htaccess codeigniter mod-rewrite

我正在使用重写规则来取消学习视频

但它无法正常工作

Options +FollowSymLinks
Options -Indexes

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

如果只输入,我希望它能接收     http://www.example.com/hmvctest/helloworld

但它只有在我输入时才有效     http://www.example.com/hmvctest/index.php/helloworld

目前只显示“未指定输入文件”我使用codeigniter和cpanel我已经尝试了下面的两个答案,但我的网站仍然没有运气使用https

2 个答案:

答案 0 :(得分:1)

尝试用以下内容替换您的规则:

Options +FollowSymLinks -Indexes -MultiViews

DirectoryIndex index.php

RewriteEngine on

RewriteCond %{REQUEST_URI} !^/(index\.php|images/|robots\.txt) [NC]
RewriteRule ^ index.php%{REQUEST_URI} [L] 

答案 1 :(得分:0)

Use this code
 <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /www.example.com
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>