apache - .htaccess中对RewriteRule的更改未生效

时间:2015-05-03 07:52:43

标签: php apache .htaccess mod-rewrite

我正在使用WAMP,我想从我的网址中删除index.php并使用此代码:

<IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /

        # Removes index.php from ExpressionEngine URLs
        RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
        RewriteCond %{REQUEST_URI} !/system/.* [NC]
        RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

        # Directs all EE web requests through the site index file
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

然后,当我将文件移动到子目录OOP-Project时,我不得不更改两行:

RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

RewriteRule ^(.*)$ /index.php/$1 [L]

为:

RewriteRule (.*?)index\.php/*(.*) OOP-Project/$1$2 [R=301,NE,L]

RewriteRule ^(.*)$ OOP-Project/index.php/$1 [L]

但是,这些变化虽然第一次起作用但没有生效!我尝试添加语法错误,它显示错误。令人惊讶的是,当我将文件移动到另一个文件夹OOP-Project-1时,它有效。我做了很多研究并找到了这个Changes to RewriteRule in .htaccess not taking effect但是它没有正确解决这个问题。

希望有人帮忙!

0 个答案:

没有答案