나는 이런 URL을 가지고있다.mod_rewrite에서 메서드 매개 변수를 세그먼트로 변경하는 방법은 무엇입니까?
http://localhost:8080/computer/products.php?cid=3
다음 세그먼트로 수정해야합니다.
http://localhost:8080/computer/products/3
모드 재 작성에서 세그먼트로 변환 할 수있는 방법이 있습니다.
나는 이런 URL을 가지고있다.mod_rewrite에서 메서드 매개 변수를 세그먼트로 변경하는 방법은 무엇입니까?
http://localhost:8080/computer/products.php?cid=3
다음 세그먼트로 수정해야합니다.
http://localhost:8080/computer/products/3
모드 재 작성에서 세그먼트로 변환 할 수있는 방법이 있습니다.
은 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
, 재 작성 코드를 아파치 설정 파일에 넣을 수 있습니다.
당신은 당신의 DOCUMENT_ROOT/.htaccess
파일에이 코드를 사용할 수 있습니다
RewriteEngine On
RewriteBase/
RewriteRule ^([\w-]+)/([\w-]+)/(\d+)/?$ /$1/$2.php?cid=$3 [L,QSA]
당신이
한다 RewriteEngine 한다 RewriteRule에 ^/컴퓨터/제품/([0 - 당신의 .htaccess이 쉽게 코드를 시도 할 수 있습니다 9] +) $ /computer/products.php?cid=$1
희망을 알려드립니다. 마르코
브라우저에서이 url을 호출 할 때 http : // localhost : 8080/computer/products/3. 나는 물건을받지 못했습니다. –
@david가 작동하지 않습니다. 동일한 오류 메시지가 나타납니다. –
파일이 존재합니까 ('[yourwebroot]/computer/products.php')? 읽기 권한이 있습니까? –
예. 이 http : // localhost : 8080/computer/products.php? cid = 3과 같이 호출하면됩니다. 그 일. 이 http : // localhost : 8080/computer/products/3과 같이 호출하면됩니다. 그것의 보여주는 개체를 찾을 수 없습니다. –