2014-01-30 10 views
0

나는 많은 것을 수색했지만 아무 것도 찾지 못했습니다..htaccess의 숫자 값 RewriteRule

나는 codeigniter를 사용하고 있습니다. 나는 그것을 할 필요가
base_url/content_controller/content_download/download_id

:하지만 다운로드 ID가 숫자
base_url/download_id

로, 내 htaccess로 작동하지 않는 내 현재의 URL입니다.

RewriteRule ^download/content/2$ 2 [L] 

해결 방법 및 .htaccess없이 수행 할 수있는 방법이 있으면 알려주십시오.

답변

0

감사합니다. Jon, 여러 번 시도했지만 여러 규칙이 충돌했습니다. 그래서 나는 다른 방식으로 그것을한다. 내가 http://www.example.com/2/이라는 URL을 찾았을 때 찾을 수 없음이 표시됩니다. 그래서 404 컨트롤러를 사용하여 숫자 값을 처리합니다. 마침내 나는 그것을했다.

0

다음과 같은 것이 있습니까? 당신이 http://example.com/123을 요청하는 경우

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([0-9]+)$ /download/content/$1 [L] 

그래서, URI는 /download/content/123에 다시 작성됩니다.

+0

감사합니다. 여기에 내부 서버 오류가 표시됩니다. 내 완료 htaccess로는 다음과 같습니다 한다 RewriteCond $ 1한다 RewriteEngine^(지수 \ .PHP | 자원 | 로봇 \ .txt)로 한다 RewriteCond % {REQUEST_FILENAME} -f 한다 RewriteCond % {REQUEST_FILENAME} 한다 RewriteRule^([0 -d!!!RewriteRule^(. *) $ index.php/$ 1 [L, QSA] – Shuvo

+0

@Shuvo 당신이 가지고있는 규칙 앞에 위의 규칙을 넣어야합니다. 귀하의 htaccess 파일. 당신은 어떤 조건들 속에서 그것을 섞을 수 없습니다, 그것은 모든 것을 망칠 것입니다. –

+0

도움을 주셔서 감사합니다. 많이 시도했지만 그럴 수는 없었습니다. RewriteERule과 Codeigniter의 RewriteRule이 충돌합니다. 코드가 잘 작동합니다. 하지만 htaccess를 이런 식으로 관리해야하는데, 이는 codeigniter와 숫자 값을 모두 처리 할 수 ​​있습니다. CI URL에 대한 코드는 다음과 같습니다. RewriteEngine on RewriteCond % {REQUEST_FILENAME}! -f RewriteCond % {REQUEST_FILENAME}! -d RewriteRule^(. *) $ index.php/$ 1 [L, QSA] 도와주세요. 감사. – Shuvo