RewriteRule ^/index.php$ /
, но это не имеет смысла, поскольку /
может служить index.php
.если в вашем каталоге есть файл index.php и вы не хотите использовать его по умолчанию, это очень странная конфигурация!но возможно, конечно ... если вы указали разные DirectoryIndex
в конфигурации вашего веб-сервера.
возможно, вы хотите перенаправить index.php
на /
???
в этом случае вы можете добавить RedirectMatch
в вашу конфигурацию, например RedirectMatch 301 ^/index.php$ /
, но я бы рекомендовал сделать это в вашем php-файле, непосредственно смотря на ваш $_SERVER["REQUEST_URI];
, но это вопрос стиля.лично я хотел бы иметь как можно больше контроля над своим приложением, и переходить к конфигурации сервера, только если он быстрее или необходимее ...
РЕДАКТИРОВАТЬ:
после вашего комментария, который очистил то, что вы на самом деленужно, я могу дать вам два решения.
Redirect
/ RedirectMatch
не сработает, потому что вы не можете сделать это условно, где вы можете проверить фактический URI запроса.Кроме того, окончательно обработанный URL будет использоваться для перенаправления.что означает ПОСЛЕ перенаправления на index.php
через apache через директиву DirectoryIndex
.поэтому эти методы не смогут определить разницу между /
и /index.php
.
, поэтому вам нужно сделать это либо в своем php-файле,
version 1:
Посмотрите, если $_SERVER['REQUEST_URI']
оканчивается на index.php
, это произойдет только в том случае, если оно действительно запрошено (введено в строку браузера).там вы можете выполнить переадресацию с помощью header("Location: ...")
.
версии 2:
с использованием mod rewrite
, которая также может выполнять перенаправления и может выполнять условия.во включенном конфигураторе у вас есть (DirectoryIndex
) для демонстрационных целей.На самом деле вам нужна только строка RewriteCond
и RewriteRule
.
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.yourdomain.com/ [R=301,L]
Я не уверен, можно ли покинуть ваш домен и просто наберите /
, вы можете посмотреть это.это произойдет только в том случае, если URL запроса фактически равен /index.php
, примените rewriterule, который выполняет перенаправление.