2016-03-02 10 views
0

Я ищу конфигурацию перезаписи url для processwire CMS на сервере lighttpd.Processwire url rewrite

Я попытался перевести процесс .htaccess процесса в конфигурацию lighttpd без каких-либо успехов.

Единственное обсуждение, которое я нашел об этом (https://processwire.com/talk/topic/7970-strange-error-in-admin-page-unrecognized-path/), не содержит решения.

Я думаю (но не уверен), что соответствующая часть:

RewriteRule ^(.*)$ index.php?it=$1 [L,QSA] 

Я перевел в

"^(.*)(?:\?(.*))?$" => "/index.php?it=$1&$2" 

Как предложено здесь: https://redmine.lighttpd.net/boards/2/topics/2259

Но все равно не будет работать. Кто-нибудь может помочь?

Спасибо!

ответ

0

После некоторого тестирования, это работает для меня:

url.rewrite-if-not-file = (
#Processwire 
"^(.*)?\?(.*)?$" => "/index.php?it=$1&$2", 
"^(.*)?$" => "/index.php?it=$1", 
) 

1) url.rewrite-если-не-файл позволит осуществлять непосредственный доступ, если целевой файл. Хорошо для файлов .css и .js, но не так хорош для других файлов, которые должны храниться конфиденциально. Хорошо для тестирования, но не для общедоступного веб-сайта.

2) Первая строка предназначена для запроса, содержащего знак опроса (?), Второй для запроса без него.

Оцените это как отправную точку.

0

Благодаря gilbertp, я уже решена с помощью этого:

url.rewrite-if-not-file = (
    "^([^?]*)(?:\?(.*))?$" => "/index.php?it=$1&$2" 
) 

Как вы сказали, что мне нужно добавить дополнительные строки для защиты личных областей

+0

Я нахожу это захватывающим, что Lighttpd не отдельные строки запроса из запроса URI. –