2015-01-02 1 views
2

У меня есть php-файл с именем directory.php, который может упорядочить контент внутри, исправляя URL-адрес directory.php?letter=a&page=2&orderby=name&donotshowthis=this ... у вас есть идея. Я пытаюсь сделать одну линию HTAccess переименовывать все, что беспорядок то, что легче читать то, что я пытаюсь достичь этого:htaccess повторное переименование для php-файла

directory/letter:a|page:2|orderby:name|donotshowthis:this 

вот моя попытка по коду: он работает только для одна строка, как я могу отделить ее | и имеют неограниченное количество строк?

RewriteRule ^directory/([a-z]+):(.*)/?$ directory.php?$1=$2 

ответ

3

Вы можете использовать этот код в файле DOCUMENT_ROOT/.htaccess:

RewriteEngine On 
RewriteBase/

RewriteRule "^(directory)(?:\.php)?/([^:]+):(.*?)(?:\x7c(.*))?$" $1.php/$4?$2=$3 [L,QSA,NC] 

Это будет маршрут Ваш входной URI

example.com/directory/letter:a|page:2|orderby:name|donotshowthis:this 

к:

example.com/directory.php?donotshowthis=this&orderby=name&page=2&letter=a 
+1

Извините и спасибо, это работает, это была тестовая проблема. +1 – Croises

+0

Я хотел добавить, что если у вас есть php-fpm, этот код не работает по какой-то причине !!! сообщите мне, если кто-то знает, почему и каково возможное решение. – shnisaka

+0

Извините, я мало знаю о 'php-fpm'. Вы можете отправить новый вопрос, используя тег 'php', чтобы вы могли получить лучшую помощь. – anubhava

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