Я тестировал это в WAMP, и я не могу заставить его работать. Я считаю, что WAMP настроен должным образом из-за сообщения об ошибке, которое я получаю, и он не работает, когда я не использую файл.htaccess.
У меня есть имя файла, которое я использую для тестирования под названием Feedback.php. Вместо отображения как www.mysite.com/Feedback.php
. Я пытаюсь получить его просто www.mysite.com/Feedback
.
.htaccess файл
RewriteEngine on
RewriteRule ^Feedback.php/?$ Feedback [NC]
Сообщение об ошибке, которое я получаю, является
"Не обнаружена
Запрошенный URL/Отзыв не найден на этом сервере. "
Существуют ли два файла, необходимые для работы reWriteRule?
Я также пытаюсь заставить это работать для моего index.php, чтобы просто быть www.mysite.com, который может быть другим монстром.
Какими должны быть мои навигационные ссылки? Сейчас они <a href="Feedback.php">Feedback</a>
связь href
href="Feedback"
<a href="Feedback.php">Feedback</a>
Если href
возможно быть href="Feedback"
, как только я получить эту работу?
EDIT: у меня были переменные ReWriteRule. Вместо
RewriteRule ^Feedback.php/?$ Feedback [NC]
мне следует иметь
RewriteRule ^Feedback/$ /Feedback.php [NC,L]
Переписывание не выглядит так, как будто оно все еще читает localhost/Feedback.php
Вы можете использовать это, чтобы удалить расширение .php
со своих страниц, а также исключить часть index
на свой сайт:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{THE_REQUEST} /index
RewriteRule ^index$ http://yourwebsite.com/ [R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^Feedback$ /Feedback.php [NC,L]
. Это всегда какRewriteRule WHAT WHERE