Использование Mod-Rewrite для изменения путей в файлы - PullRequest
0 голосов
/ 06 октября 2011

Я искал и Google, и stackoverflow в течение более 48 часов, и я не нашел аналогичного вопроса / решения; следовательно, я прошу помощи.

Если я хочу переписать URL-адреса, такие как http://localhost/filename, чтобы получить filename.php (например, localhost/aboutus извлекает aboutus.php, localhost/contact извлекает contact.php и т. Д.).

Как мне это сделать? Я не хочу писать правила для каждой страницы; Я хочу, чтобы имя файла было динамическим, чтобы одно правило работало для всех страниц в конкретной папке.

Я пытался:

RewriteRule ^(.*)/?$ $1.php

В файле .htaccess, и я продолжаю получать ошибку 500. Благодарю.

Весь файл содержит это:
ПереписатьEngine On
RewriteBase /
RewriteRule ^ (. *) /? $ $ 1.php

Это все, что файл содержит

1 Ответ

0 голосов
/ 06 октября 2011

Ошибка 500 может иметь множество причин - есть ли способ получить больше информации о ней?

В любом случае, возможно, ваша проблема в жадном подходе (. *) И вашей обработке завершающего слешаэто может быть там или нет.

Попробуйте

RewriteRule ^([_a-zA-Z0-9]*)/?$ $1.php 

вместо этого, который будет соответствовать только символам внутри [] и не включать '/'.

. Вы можетепроверьте свои правила перезаписи здесь: http://martinmelin.se/rewrite-rule-tester/

...