2017-02-16 17 views
1

У меня странная проблема с .htaccess и URL. У меня это в HTAccessПроблема Htaccess, которая не может понять это

<IfModule mod_rewrite.c> 
     RewriteEngine On 
     RewriteBase /sitesubfolder/ 

     RewriteRule ^test$ pages/test.php 
</IfModule> 

это на моей HREF ссылки

<a href="test/"> Link </a> 

Сайт находится в подпапках не в корневой директории и путь /var/www/www/site/ Когда я иду в URL сайта и нажмите на Страница ссылок обновляется, но остается на одной странице. Если я снова нажму URL, напишите site.com/test/test/test .. каждый новый клик по ссылке просто поместил еще одну /test/ на страницу.

Сервер nginx, если есть вопрос.

Я добавил это site.conf

server { 

    root /var/www/www/site/; 
    index index.php index.html; 

    location/{ 
     try_files $uri $uri/ /index.php?$query_string; 
    } 
    .... 
} 

Но все же (я перезарядил Nginx также)

+0

'.htaccess' - это файл Apache. Вы используете' nginx'. –

+0

О, не знал об этом .. и нет возможности использовать его в 'ngi nx'? Как я могу переписать URL-адреса и сделать «красивые» URL-адреса? – VLS

+0

'nginx' настраивается' nginx.conf' или одним из файлов, включенных в него. Вам нужно посмотреть на существующую конфигурацию, но этот .htaccess легко реализуется с помощью директивы '' try_files' (http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files). –

ответ

1

Из существующего .htaccess файла, то мне кажется, что проблема может быть суммированы следует:

Корень документа /var/www/www/site, под ним находится подкатегория sitesubfolder, содержащая другую подпапку под названием pages.

Когда в URI /sitesubfolder, относительная ссылка test/ (что абсолютная ссылка /sitesubfolder/test/ должна вызывать /var/www/www/site/sitesubfolder/pages/test.php

Есть много способов для достижения этой цели, например:

rewrite ^/sitesubfolder/test/$ /sitesubfolder/pages/test.php last; 

См this document больше.

+0

Большое спасибо. Даже у меня все еще есть некоторые проблемы, это была очень полезная отправная точка. – VLS