2016-11-02 2 views
1

PHP와 MySQL로 약간의 CMS를 만들었습니다. 이제 NGINX 다시 쓰기를 활성화하려고 시도하지만 작동하지 않아 그 이유를 이해할 수 없습니까?nginx 다시 쓰지 않는다면

(예) 나는 페이지

http://www.example.com/cars.php?id=bmw

나는이 규칙을 사용하려고해야

재 ^/명부 /(.*)$ /listing.html?listing=$1 마지막; 에서

: https://www.nginx.com/blog/creating-nginx-rewrite-rules/

그러나 그것은 작동하지 않습니다.

다시 작성 ^/cars /(.*)$ /cars.php?id=$1 last;

나는 http://www.example.com/cars.php?id=bmw

내가 PHP 문서의 URL 앵커을 변경해야합니다 같은 추악한 URL을 얻을? 나는 그것이 작동 할 때

<a href="cars/'.$row['name'].'"> BWM </a> 

<a href="cars.php?id='.$row['name'].'"> BWM </a> 

에서. 내가 연락처 페이지에 BMW 측에서 클릭하면 그러나 나는이 이상한 URL

http://www.example.com/cars/contact 

사람 내가 잘못 무슨 생각 가지고 얻을?

답변

1

문서에서 슬래시없이 URI를 지정하고 있습니다. 즉, 현재 페이지와 관련이있는 것으로 간주됩니다.

귀여운 URI (예 : /cars/bmw)를 사용하고 싶습니다. 단, 디렉토리 경로처럼 보이는 /이 포함되어 있습니다. 이 디렉토리 경로은 행을 포함하지 않는 URI를 구성하는 데 사용됩니다 /.

해결 방법은 모호하지 않도록 모든 URI 앞에 /을 제공하는 것입니다. 예를 들어

:

<a href="/cars/'.$row['name'].'"> BWM </a> 
<a href="/contact"> Contact Page </a>