2015-04-21 2 views
0

На моем сервере Nginx У меня есть URL 1Прозрачный URL переписан на Nginx

http://www.example.com/component/abc/categories

, и я хочу, чтобы переписать запрос на URL-адрес 2

http://www.example.com/abc/categories

без URL 1 бытии изменен в адресной строке.

Я пробовал несколько примеров, которые я нашел в файле конфигурации, но никаких результатов. Я ценю вашу помощь.

[обновление] здесь еще одна попытка. Я думаю, что псевдоним будет правильным выбором, если я получу выражения правильно. Это должно работать, но оно перенаправляется на главную страницу. Что я делаю не так?

location ~ ^/component/(.*)$ { alias /var/www/example.com/www/abc/$1; }

+0

И что вы пробовали? –

+0

Я пробовал: местоположение/компонент/{ rewrite ^/component /(.*)$ $ схема: //www.example.com/$1 постоянная; }, но этот перенаправляет URL-адрес и изменяет значение в адресной строке. – user3833490

+0

Не помещайте код в комментарии. Редактировать сообщение –

ответ

0

Почему бы не сделать это простым способом?

location /component/ { 
    rewrite ^/component(.*) $1 last; 
} 
+0

Спасибо, я знаю, что это правильный ответ, хотя по какой-то причине он не работает на моем сервере, как будто он никогда не разбирает/component/block для выполнения этой строки. – user3833490

+0

Я на 99% уверен, что у вас есть регулярное выражение (например, * .php). Вы можете использовать 'location^~/component/{...}', чтобы предотвратить расположение регулярных выражений для '/ component /' –

+0

Пробовал это тоже. Не работает, к сожалению. – user3833490

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