Mod_rewrite в apache не работает со скрытым /index.php (но работает с index.php) - PullRequest
1 голос
/ 21 января 2011

Я написал следующее mod_rewrite:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !index\.php$
RewriteCond %{SCRIPT_FILENAME} !redirect\.php$
RewriteRule ^(.*)$ http://google.com [L,R]

Что прекрасно работает, за исключением того, что вам действительно нужно перейти на /index.php

Я имею в виду, что если вы перейдете на example.com/index.php этоработает нормально, но не в example.com (на самом деле это index.php - вы просто этого не видите).

Конечно, это не работает и для example.com/.

Может кто-нибудь помочь мне, как установить это исключение.

Заранее спасибо, пожалуйста, спросите что-нибудь, чтонедостаточно ясно!

РЕДАКТИРОВАТЬ:

Я постараюсь выразиться проще:

Код, как он перенаправляет ВСЕ URL-адреса на http://google.com

за исключением index.php и redirect.php

Поэтому, когда URL-адрес example.com/index.php, он не перенаправляет (что нормально)

Wut, когда URL-адрес example.comтакое перенаправление, и я не хочу этого.

Четче?

1 Ответ

1 голос
/ 21 января 2011

Не совсем понятно, чего вы пытаетесь достичь, но чтобы ответить на ваш вопрос напрямую, добавьте еще одно условие:

RewriteCond %{REQUEST_URI} !^$
...