Проблема с перезаписью Mod_Rewrite

#.htaccess #mod-rewrite

#.htaccess #мод-перезапись

Вопрос:

У меня есть домен в example.com

Существует подкаталог, в котором есть викторина, расположенная по адресу example.com/quiz/?id=1

Мне нужно изменить ?id=1 на TakeTheQuiz, чтобы это выглядело как example.com/quiz/TakeTheQuiz

Вот как выглядит мой .htaccess прямо сейчас ( .htaccess находится в корневом каталоге по адресу example.com ). Прямо сейчас я всегда получаю ошибку server 500.

 RewriteEngine On
RewriteBase /quiz
RewriteRule ^?id=1$ TaketheQuiz
 

Это действительно просто, и все примеры, которые я видел, были действительно сложными, и мне было сложно применить его к этому: (Помогите, кто-нибудь? Спасибо за ваше время.

Ответ №1:

Вы просто неправильно поняли правило:

 RewriteEngine On
RewriteBase /quiz
RewriteRule ^TaketheQuiz$ ?id=1 [L]
 

Редактировать

Согласно вашему комментарию, попробуйте это вместо:

 RewriteCond %{QUERY_STRING} id=1
RewriteRule ^$ TaketheQuiz [R=301,L]
 

Комментарии:

1. Спасибо за ответ. К сожалению, я сделал именно то, что вы сказали, но это все еще не работает. Я больше не получаю ошибку сервера 500, но страница не перезаписывается в TaketheQuiz, она просто остается на example.com/?id=1

2. Хм, это то же самое, что и раньше; нет ошибки сервера 500, но и перезаписи тоже нет.