Чтобы перейти прямо к делу.
У меня есть этот URL: http://example.com/?open=encyclopedia&письмо = s&Термин = буря и я хочу этот ярлык URL — http://example.com/storm — чтобы перенаправить на первый URL: http://example.com/?open=encyclopedia&письмо = s&Термин = буря
У меня есть около 1000 энциклопедических терминов, и я хочу, чтобы это перенаправление работало для каждого введенного термина. Например: если посетитель входит http://example.com/Storm автоматически перенаправляться на страницу здесь: http://example.com/?open=encyclopedia&письмо = s&Термин = буря ИЛИ ЖЕ http://example.com/Dried_Plant в http://example.com/?open=encyclopedia&буква = д&Термин = сушат + завод
Я предпочитаю какое-нибудь решение htaccess для этого, если это возможно.
Если нет, дайте то, что вы можете дать.
У меня нет примера кода для этого, так как я не знаю, с чего начать.
@Croises Ответ хорош, если ваша ссылка выглядит следующим образом
mysite.com/?open=encyclopedia&письмо = s&Термин = / буря
REQUEST_URI
добавляет косую черту. Ваша ссылка не имеет:
mysite.com/?open=encyclopedia&письмо = s&Термин = буря
Я думаю, это то, что вы ищете
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} .(.+)$
RewriteRule ^(.) ?open=encyclopedia&letter=$1&letter=%1 [NC,L]
Я предлагаю вам перенаправить все это на свою страницу encyclopedia
, А затем подумайте с php, что вы можете с ним сделать (например, найти первую букву или изменить с помощью _ или других)
Ты можешь использовать:
RewriteEngine on
# skip all files and directories from rewrite rules below
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ encyclopedia?term=%{REQUEST_URI} [NE,L]
С правильной первой буквой (letter=
), измените последнюю строку на:
RewriteRule ^(.) encyclopedia?letter=$1&term=%{REQUEST_URI} [NE,L]