문제

ugh .. mod_rewrite는 나를 어리석게 만듭니다. 나는 아직 내 뇌를 그 주위에 감싸지 않았다. :/

이 URL이 있습니다.

http://example.com/a/name/

... 여기서 지적하고 싶습니다.

http://example.com/a/index.php?id=name

...어디 name 전달되는 것입니다 index.php 로서 id 논쟁.

내가 시도한 것은 404 또는 500 .. :(

도움이 되었습니까?

해결책

당신을 시작하려면 :

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !index.php
RewriteRule ^/?a/([^/]+)/?$ /a/index.php?id=$1 [QSA,L]

튜토리얼을 다시 쓰기가 작동하지 않으면 다른 시도를 시도하십시오.

편집 : 제외 index.php 검보의 제안에 따라

다른 팁

후행 슬래시가 선택 사항이 되려면 요청을 다시 작성하는 파일을 제외해야합니다. 그렇지 않으면 당신은 좋은 무한 재귀를 가질 것입니다.

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/a/index\.php$
RewriteRule ^/a/([^/]+)/?$ /a/index.php?id=$1 [L]

여기에서 시작하는 모든 요청 /a/… 그러나 그것은 아닙니다 /a/index.php 다시 작성됩니다 /a/index.php.

그러나 후행 슬래시가 필수 인 경우 대상 파일을 제외 할 필요가 없습니다.

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

아마도 줄을 따라 뭔가

RewriteEngine on
RewriteBase /a/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php?id=$1 [L,QSA]

트릭을 할 것입니다.

이 URL을 살펴 보는 것이 좋습니다.

http://www.dracos.co.uk/code/apache-rewrite-problem/

제시된 솔루션은 작동하지만 URL에 주로 설명 된 일부 경고가 있습니까? URL 자체에서 #.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top