2010-11-08 2 views
0

Я пытаюсь перенаправить default.php на/(путь без аргументов) в Apache с .htaccess, но до сих пор я не нашел способ сделать эту работу. Если я что-то вроде:Как перенаправить default.php на/

Redirect permanent /default.php powerkaraoke.com/

Я получаю ошибку 500. Другие перенаправления работают нормально, например powerkaraoke.com-> www.powerkaraoke.com.

Каков правильный способ сделать это? Заранее благодарю за любую помощь.

+0

Вы действительно хотите перенаправить или использовать default.php для /? В этом случае вам понадобится mod_dir с установкой DirectoryIndex на default.php, а не .htaccess –

+0

Я борюсь с проблемой, что наша корневая страница не индексируется Bing. Одним из возможных решений было перенаправление default.php. Я не хочу перенастраивать сайт, так как изменение, которое вы предлагаете, может сломать что-то в другом месте, и подумал, что существует простое решение с использованием htaccess. Но кажется, что вы правы, и это не может быть сделано с помощью htaccess. –

ответ

3
RewriteEngine on 
RewriteRule ^default.php$/[R=301,L] 

Я думаю, что это должно сработать.

+0

Вопрос говорит .htaccess. – Gumbo

+0

Я думаю, что удаление/из ^/default.php $ будет работать .. try^default.php $. – subosito

+0

@Gumbo: Что случилось с этим? mod_rewrite отлично работает в .htaccess. –

1

Redirect требует абсолютный путь или абсолютный URL:

новый URL-адрес должен быть абсолютным URL-начиная со схемой и именем хоста, но в URL-путь, начинающийся с косой черты также могут быть использованы, в этом случае будет добавлена ​​схема и имя хоста текущего сервера.

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

Redirect permanent /default.php/

Но Redirect только соответствует данному префикс пути и добавляет остальные сегменты пути (например, /default.php/foo/bar перенаправляется /foo/bar), вы можете использовать RedirectMatch вместо:

RedirectMatch permanent ^/default\.php$/
+0

Это то, что я пробовал изначально. Он вызывает ошибку внутреннего сервера с кодом 500. –

+0

@Piotr K: * Что вы пытались? И то и другое? – Gumbo

+0

Да, первая дает ошибку 500, вторая 404. И это не только для default.php, но и для powerkaraoke.com/. –