Завяз с написанием реврайтов для CMS Maxsite.
Там даны только примеры реврайтов для apache (.htaccess), и то весьма невнятно:
[quote]
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|uploads|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^(.*)$ /index.php?/$1 [L,QSA]
</IfModule>
На некотрых серверах вместо строчки:
RewriteRule . /index.php [L]
можно попробовать указать:
RewriteRule ^(.*)$ /index.php?/$1 [L,QSA]
Вариант для Nginx с апачем в качестве надстройки:
RewriteRule ^(.*)$ /index.php?$1 [L,QSA][/quote]
Понимай как хочешь... :-(
Через поиск никакого рабочего варианта реврайтов найти не удалось.
Пробовал прописать в конфиге nginx (он у меня без бэкенда) вариации типа:
[code]
server {
listen 80;
server_name net.open.ru net;
location / {
root /site/maxsite;
index index.php;
if ($query_string = !^(index\.php|uploads|robots\.txt|favicon\.ico)) {
rewrite ^/(.*)$ /index.php?$1 last;
break;
}
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?$1 last;
break;
}
# if ($request_uri ~* ^.*/.*$) {
# rewrite ^/(\w*)/(.*)$ /$1/index.php?q=$2 last;
# break;
# }
}
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico)$ {
root /site/maxsite;
#access_log off;
break;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /site/maxsite$fastcgi_script_name;
include fastcgi_params;
}
}
[/code]
При попытке нажать клавишу первой страницы CMS "Установить" не происходит корректная передача параметров другой странице. В результате, выдаётся пустое окно, хотя в лог пишется "200". Также некорректно обрабатываются несуществующие URL. Выдаётся ошибка типа:
[code]Table 'maxsite.mso_page' doesn't exist
SELECT `page_id` FROM (`mso_page`) WHERE `page_slug` = 'beliberda' OR `page_id` = 'beliberda' LIMIT 1
[/code]
К сожалению, в логах информации как обрабатывались реврайты нет, даже при установке уровня подробностей "info".
Буду очень благодарен за помощь в устранении ошибки в правилах реврайтов.