2013-01-29 2 views
0

Я хотел бы переписать mypage.com/foo.php как mypage.com/foo. Моя переписывают изменяет URL правильно, однако полученная страница является 404..htaccess довольно URL-адрес в результате 404

Вот что у меня до сих пор:

# Setup conditions for internal rewrite of Foo 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# Rewrite for TDS 
RewriteRule ^foo/$ /foo.php [L,QSA] 

# External redirect for Foo 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+foo\.php [NC] 
RewriteRule^/foo/? [R=301,L] 

Что мне не хватает, чтобы сделать эту работу?

+1

Скорее всего, вы хотите перенаправить этот 'mypage.com/foo', который является введенным UR, отображаемым браузером, на:' mypage.com/foo.php', который является ресурсом, который молча обрабатывает запрос. Я не думаю, что вы хотите, чтобы ваши посетители вводили 'mypage.com/foo.php', чтобы перейти на' mypage.com/foo'. Если это правильно, последний набор правил не требуется. –

ответ

1
# Setup conditions for internal rewrite of Foo 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# Rewrite for TDS 
RewriteRule ^foo mypage.com/foo.php [L,QSA] 

Попробуйте это ..

+0

Я получаю ошибку 500? – Ryan

+0

Ошибка 500 может быть исправлена ​​с помощью вашей серверной программы, а не на стороне клиента, поэтому проверьте параметры вашей серверной стороны. – Sikander

1

Если вы на Apache, посмотрите на файл error.log, он должен предоставить вам некоторую полезную информацию.

Если вы находитесь на Windows Server, я уверен, что есть похожий файл журнала, на который нужно посмотреть.

+0

Спасибо за это. Журнал ошибок Apache помог - спасибо! – Ryan

+0

Нет проблем, всегда смотрите файл error.log, если у вас есть какие-либо ошибки сервера. Спасал меня много раз. –

Смежные вопросы