Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Нужно убрать слэш в конц е URL
03.12.2010 13:20, Sergey Shepelev пишет:
> 2010/12/3 Vladislav V. Prodan <universite@xxxxxxx>:
>> 02.12.2010 23:15, Sergey Shepelev пишет:
>>>> как реализовать средствами nginx?
>>>>>
>>> location ~ (.+)/$ {
>>> rewrite ^ $1 permanent;
>>> }
>>>
>>> Обратите внимание, что здесь вернётся 301 редирект. Дублирующийся
>>> контент на разных урлах поисковики как раз не любят.
>>>
>>
>> [emerg]: pattern "^" has less captures than referrenced in substitution
>> "$1" in /etc/nginx/conf/vhosts/site.conf:28
>>
>> # nginx -V
>> nginx version: nginx/0.7.65
>
> Попробуйте так
>
> location ~ (.+)/$ {
> set $uri_no_slash $1;
> rewrite ^ $uri_no_slash permanent;
> }
>
> Если не получится, то так
>
> location ~ /$ {
> rewrite (.+)/$ $1 permanent;
> }
>
> Полагаю, что второй вариант даже предпочтительнее.
Наверное, я где-то и что-то не допонял.
Нужно корректно обрабатывать http://site.com/bla-bla-bla
и делать редирект 301
http://site.com/bla-bla-bla/ --> http://site.com/bla-bla-bla
Все предыдущие конструкции делали это, но при http://site.com получался
бесконечный цикл, ибо браузер/вебсервер делал перенаправление на
http://site.com/, а конструкция опять перенаправляла на http://site.com
вот выдержка из конфига:
location / {
index index.php;
try_files $uri /index.php$uri;
}
location ~ /index.php {
fastcgi_pass unix:/var/run/php.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffers 4 32k;
fastcgi_busy_buffers_size 32k;
charset utf-8;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php.socket;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
}
--
Vladislav V. Prodan
VVP24-UANIC
+38[067]4584408
+38[099]4060508
vlad11@xxxxxxxxx
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|