#.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, но и перезаписи тоже нет.