2014-11-18 2 views

답변

0

은 htaccess로 파일이 시도 :

Options +FollowSymLinks 
RewriteEngine On 

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^computer/(\w+)/(\w+)$ computer/$1.php?cid=$2 [L,PT] 

당신은 regex backreferences와 함께 원래의 URL에서 어떤 부분을 전송할 수 있습니다. 귀하의 경우에는

:

^computer/ (\w+)/  (\w+) $ 
      ⇓    ⇓ 
computer/ $1 .php?cid= $2 

구체적인 상황에서이 문제가 해결되지 않으면

computer/ products/  3 
      ⇓     ⇓ 
computer/ products .php?cid= 3 

는 .htaccess 파일이 활성화되어 있는지 확인하십시오

또는
AllowOverride All 

, 재 작성 코드를 아파치 설정 파일에 넣을 수 있습니다.

+0

@david가 작동하지 않습니다. 동일한 오류 메시지가 나타납니다. –

+0

파일이 존재합니까 ('[yourwebroot]/computer/products.php')? 읽기 권한이 있습니까? –

+0

예. 이 http : // localhost : 8080/computer/products.php? cid = 3과 같이 호출하면됩니다. 그 일. 이 http : // localhost : 8080/computer/products/3과 같이 호출하면됩니다. 그것의 보여주는 개체를 찾을 수 없습니다. –

2

당신은 당신의 DOCUMENT_ROOT/.htaccess 파일에이 코드를 사용할 수 있습니다

RewriteEngine On 
RewriteBase/

RewriteRule ^([\w-]+)/([\w-]+)/(\d+)/?$ /$1/$2.php?cid=$3 [L,QSA] 
+0

개체를 찾을 수 없습니다. –

+0

htaccess는 어디에 있습니까? 그것은 귀하의 웹 사이트의 루트에 있어야하고 다른 규칙이 없는지 확인해야합니다. – anubhava

+0

당신의'.htaccess'가'.htaccess'의 상단에 같은 가비지 (임의의) 텍스트를 넣음으로써 유효한지 여부를 확인하고 그것이 500 (내부 서버) 에러를 발생시키는 지 확인하십시오. – anubhava

0

당신이

한다 RewriteEngine 한다 RewriteRule에 ^/컴퓨터/제품/([0 - 당신의 .htaccess이 쉽게 코드를 시도 할 수 있습니다 9] +) $ /computer/products.php?cid=$1

희망을 알려드립니다. 마르코

+0

브라우저에서이 url을 호출 할 때 http : // localhost : 8080/computer/products/3. 나는 물건을받지 못했습니다. –

관련 문제