2017-12-01 22 views
0

www.mysite.com/a/b/slugwww.mysite.com/a/b/index.php?id=slug으로 다시 작성하고 싶습니다.htaccess의 쿼리 문자열로 경로 정보를 이동하는 중 문제가 발생했습니다.

경로의 마지막 세그먼트 즉, slug을 캡처하여 쿼리 문자열에 사용하려고합니다.이 문자열은 example과 유사합니다. 내가 www.site.com/a/b/slug에, $_GET['id'] 반환 index.phpslug 반대로 갈 때, 내 a/b/index.php에서

RewriteEngine on 
RewriteRule ^a/b/([^/]+) a/b/index.php?id=$1 [L] 

:

그래서 나는 다음 내 public_html 폴더에 앉아 내 .htaccess의 줄이있다. 왜 그런지 모르겠습니다.

어떻게 마지막 세그먼트를 캡처하여 쿼리 문자열에 사용할 수 있습니까?

+1

RewriteCond %{REQUEST_FILENAME} !-d 추가 $ _SERVER' 변수와 RegEX를 사용하여 'slug'를 얻을 수 있습니다. 이 답변보기 https://stackoverflow.com/a/3429268/3790921 – Chad

+0

@Chad Thanks. 나는 그 옵션을 고려할 것이지만 해결책을 찾았다. – Mikey

답변

3

.htaccess에 다시 쓰기 조건을 추가해야합니다. 현재는 /a/b/index.php을 다시 쓰려고 시도하고 있습니다.

한번에 ID = slug` 내가 혼자 URL을두고 단지`사용하는 것이 당신이 www.mysite.com/a/b/index.php '과 같이 URL을해야합니까? RewriteCond %{REQUEST_FILENAME} !-f

+1

감사합니다. 나는 같은 해결책을 찾았다는 맨위의 대답에 대해 답장을하려고했다. – Mikey