2016-03-22 3 views
0

У меня есть URLs, как это: domains.com/?page=some-keywordsMod переписать domains.com/some-keywords

Я хочу, чтобы изменить: domains.com/some-keywords

Я пробовал:

RewriteRule ^([^/]*)(/?)$ /?page=$1 [L] 

И

RewriteRule ^([^/]*)$ /?page=$1 [L] 

Но это не ж orking, у меня есть ошибки 5xx. Он работает только тогда, когда я ставил еще некоторые правила. например

RewriteRule ^123,([^/]*)(/?)$ /?page=$1 [L] 

Возможно ли иметь эти URL-адреса на apache? от domains.com/?page=some-keywords до domains.com/some-keywords

ответ

0
RewriteEngine On 
    RewriteCond %{QUERY_STRING} "^page=(.*)" 
    RewriteRule ^/$ /%1 [QSD,R] 

директивы RewriteCond обнаружит, существует ли параметр строки запроса называется страница.

Директива RewriteRule будет отображать URL-адрес от «/» до «/ {value-of-page-parameter}».

Это достигается использованием токена «% 1». Токен «% 1» содержит значение, захваченное «(. *)» Из RewriteCond.

Флаг QSD используется для отбрасывания исходной строки запроса.

Флаг R используется для перенаправления старого URL на новый URL.

Смежные вопросы