#apache #.htaccess #url #mod-rewrite #friendly-url
#апач #.htaccess #URL-адрес #мод-переписать #дружественный url-адрес
Вопрос:
Я хочу преобразовать этот URL example.com/post.php?id=12345amp;title=xyz
-адрес в example.com/12345/xyz
.
Я могу это сделать example.com/12345
, но не могу получить /xyz
.
RewriteEngine On RewriteRule ^post/([a-zA-Z0-9-/] )$ post.php?id=$1 RewriteRule ^post/([a-zA-Z-0-9-] )/ post.php?id=$1
Ответ №1:
С показанными вами образцами, пожалуйста, попробуйте следовать правилам htaccess. Пожалуйста, не забудьте очистить кэш вашего браузера перед тестированием ваших URL-адресов.
Это решение предполагает, что вы нажимаете example.com/post.php?id=12345amp;title=xyz
пример URL-адреса в браузере и хотите изменить его на example.com/12345/xyz
##Enabling engine here. RewriteEngine ON ##Extrenal redirect 301 to mentioned url by OP in question. RewriteCond %{THE_REQUEST} s/post.php?id=([^amp;]*)amp;title=(S )s [NC] RewriteRule ^ %1/%2? [R=301,L] ##Internal rewrite to post.php with query strings. RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)/([^/]*)/?$ post.php?id=$1amp;title=$2 [QSA,L]