Я пытаюсь изменить http://www.mywebsite.com/en/admin/index?page=archived
Преобразование URL строки запроса на пути
в
http://www.mywebsite.com/en/admin/page/archived/
Я попытался кучу вещей, в том числе:
RewriteCond %{QUERY_STRING} ^page=(.+)$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/en/admin/%1? [R=301,L]
, но у меня всегда 404.
Мой .htaccess находится в admin directory
.htaccess:
RewriteEngine On
# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://%{HTTP_HOST}/en/admin/$1 [R=301,L]
# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://%{HTTP_HOST}/en/admin/$1 [R=301,L]
# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]
RewriteCond %{THE_REQUEST} /index\?page=(.+?) [NC]
RewriteRule ^index$ /en/admin/page/%1? [NC,L,R]
RewriteRule ^page/([^/.]+)/?$ /en/admin/index?page=$1 [NC,L]
ли URL-адрес назначения, который вы пытаетесь перенаправить на существование? – starkeen
Нет, потому что я хотел бы преобразовать только строку запроса в URL-адрес пути ... Это возможно? – Laurent