Я новичок в переписывании URL-адресов и хотел узнать, как я переписал
Из этого / профиля / 4
К этому /profile.php?id=4
У меня есть это правило до сих пор
RewriteRule ^profile/([0-9]+)/?$ profile.php?id=$1
но он отображает это в браузере
Firefox обнаружил, что сервер перенаправляет запрос для этого адреса таким образом, который никогда не будет завершен.
Он отображает /profile/4/index.php в адресной строке браузера, которая является неправильной.
.htaccess файл
<Files .htaccess> order allow,deny deny from all </Files> Options +FollowSymlinks RewriteEngine on #ErrorDocument 404 /test.php DirectoryIndex test.php RewriteRule settings editProfile.php RewriteRule update update.php RewriteRule home test.php RewriteRule ^profile/([0-9]+)/?$ profile.php?id=$1
Вы там очень много. Попробуйте использовать это вместо этого
RewriteRule ^profile/(.*)$ profile.php?id=$1
Я нашел этот бесплатный бесплатный ресурс в Интернете, чтобы помочь вам протестировать свои правила перезаписи, прежде чем публиковать их на своем сайте. Это может помочь в будущем. Похоже, ваше правило должно работать так, как вы его разместили. Проблема должна быть где-то в другом месте.
Ваше правило просто прекрасное, так что есть где-то переадресация. Я полагаю, что у вас нет реального каталога в /profile/4
поэтому главный кандидат остается mod_negotiation . Попробуй это:
Options -MultiViews