получить index.php с .htaccess - PullRequest
       0

получить index.php с .htaccess

2 голосов
/ 24 апреля 2011

Я использую несколько правил ReWrite в моем .htaccess, таких как эти

RewriteRule ^brochure/([^/]+)/?$ brochure.php?cat_path=$1

Все это прекрасно работает благодаря ответам, которые я нашел при поиске на этом сайте.Но у меня есть маленькая загвоздка.

На данный момент это правило прекрасно работает RewriteRule ^([a-zA-Z0-9_-]+)?$ $1.php Оно перехватывает все мои URL-адреса, например www.mysite.com/shane, и запрашивает shane.php - Пока все хорошо, но когда я звоню www.mysite.com, мне нужно его запросить index.php

Какое правило я могу использовать для этого?

Спасибо людям.

ОБНОВЛЕНИЕ - Ради будущих пользователей, нуждающихся в аналогичной помощи.

Мое правилоиз ^([a-zA-Z0-9_-]+)?$ $1.php вызывало проблему, о которой я упоминал выше.Знак вопроса ? не требуется в этом типе правил, когда вы удаляете знак вопроса, файл index.php в каталоге возвращается к целевой странице по умолчанию.Спасибо Томалаку за помощь.

Ответы [ 3 ]

0 голосов
/ 24 апреля 2011

Я думаю, это то, что вы ищете, не уверен, подумал:

RewriteRule ^/$ index.php
0 голосов
/ 24 апреля 2011

Вы можете сделать то, что говорит Томалак, и убедиться, что DirectoryIndex установлен для загрузки index.php.

Или близко к тому, что говорит Джеймс,

RewriteRule ^/?$ index.php [L]
0 голосов
/ 24 апреля 2011

Вам не нужно никаких правил для этого. Просто убедитесь, что .php индексные файлы по умолчанию для каталога, и это произойдет автоматически.

Обновление

Я думаю, что ваше правило

^([a-zA-Z0-9_-]+)?$ $1.php

на самом деле должно быть

^([a-zA-Z0-9_-]+)$ $1.php

, чтобы он не конфликтовал с запросами, в которых имя файла не указано (которые вы хотите указать index.php).

...