%{REQUEST_URI} не работает с index.php

У меня есть сайт, который использует следующий формат ссылок:

http://www.website.com/section1/index.php
http://www.website.com/section2/index.php
http://www.website.com/section3/index.php
http://www.website.com/section1/section4/index.php

Я пытался избавиться от последней части "index.php", используя следующие директивы.htaccess:

RewriteEngine on
RewriteCond %{REQUEST_URI}  ^/index\.php$
RewriteRule (.*)  http://www.google.com [R=301,NC,L] 

Конечно, www.google.com предназначен только для тестирования, однако приведенный ниже пример не работает. Что с этим не так? Вторая часть вопроса - чем заменить www.google.com, если я хочу переписать на http://www.website.com/section1?

Спасибо!

1 ответ

Решение

Это не работает, потому что ваше регулярное выражение неверно. RewriteCond %{REQUEST_URI} ^/index\.php$ ожидает %{REQUEST_URI} быть /index.php но у тебя есть /section1/index.php,

Правильная версия будет:

RewriteEngine on

RewriteCond %{REQUEST_URI} /index\.php$
RewriteRule (.*) http://www.google.com [R=301,NC,L] 

Или даже:

RewriteEngine on

RewriteRule /index\.php$ http://www.google.com [R=301,NC,L] 
Другие вопросы по тегам