2016-10-03 2 views
1

제목과 ID로 동적으로 URL을 다시 작성해야합니다. 나는이제목과 ID로 동적 URL 다시 작성

" Not Found 
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. 
The requested URL /beweb/iphone-8.html was not found on this server." 

..하지만 점점 오류가 나는 내가 필요 dyanamically되어 있으므로 위의 URL을 실행하면 URL을 동적

http://dev.example.com/beweb/iphone-8.html 

대신

http://dev.example.com/beweb/newsdetails.php?id=8&title=iphone 

으로 만들고 싶어 코드 아래에 사용됨 :

RewriteEngine On 
RewriteCond %{THE_REQUEST} /beweb/newsdetails.php\?id=([^&\s]+)&title=([^&\s]+) [NC] 
RewriteRule^/beweb/%2-%1\.html? [NC,R,L,NE] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^%2-([^.]+)\.html$ /beweb/newsdetails.php?id=$1&title=$2 [QSA,L,NC] 

도와주세요.

답변

0

규칙이 거의 정확합니다. 당신은 그냥해야 마지막 문을 잘못 :

RewriteRule ^([^-]+)-([^.]+)\.html$ /beweb/newsdetails.php?id=$2&title=$1 [QSA,L,NC] 
+0

에 쿼리 문자열을 추가하는 것을 의미하며 일하고있어. 하지만 URL에서 ID (매개 변수를 얻으려고)를 원할 것이기 때문에 다른 문제가 발생합니다 .. 이제 오류가 발생했습니다. 제발 나를 도울 수 있습니까? – Jeff

+0

@Jeff 위의'$ 1'과'$ 2'를 교환하십시오. – hjpotter92

+0

나는 당신을 도울 필요가있다 .. 할 수있다 – Jeff

0

서버에 다음 negetive 경우 실제 정적 파일이나 디렉토리가 아닌 경로를 확인할 수 있습니다 이러한 라인을 제공하기 위해 파일 이름을 였는지를 당신의 사용자 : :) 감사에게 ..

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^beweb/([a-z]+)\-([0-9]+).html$ /beweb/index.php?id=$2&title=$1 [QSA,L,NC] 

QSA 내가 코드를 넣어 가지고 새로운 URL

+0

코드만으로는 충분하지 않다. 왜 당신의 코드가 작동하는지 그리고 왜 OP의 코드가 아닌지에 대한 설명을 추가하십시오. 그렇지 않으면 귀하의 답변은 귀하의 답변을 복사하여 붙여 넣는 OP에만 도움이 될 수 있습니다. 그렇다고 SO가 사용되는 것은 아닙니다. –

+0

@ Al.G. 네, 맞습니다. 곧 설명을 추가 할 것입니다. –