동적 URL에 대한 mod_rewrite 규칙에 대한 도움
-
05-09-2019 - |
문제
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 자체에서 #.
제휴하지 않습니다 StackOverflow