2013-01-08 3 views
0

이 질문은 많은 질문이며 많은 변형을 시도한 것으로 보았지만 제대로 작동하지 않으며 잘못된 것을 알지 못합니다. 오래 전에 .htaccess 파일을 만들어서 내 404 오류 페이지를 가리키고 있습니다.이 오류 페이지는 나에게 잘 돌아갔다. 그러나 많은 게시물과 그 내용이 많아지면서 내 사이트의 URL을 다시 작성하고 싶다. url에있는 모든 변수를 지저분해라. 내가 한 변수가 전달되는 viewpost.php라는 페이지가 (다른 페이지는 aswell있다 그러나 이것은, 예를 들면)는 동적 URL 다시 쓰기가 작동하지 않습니다. (htaccess)

RewriteEngine on 
RewriteRule viewpost-ID-(.*)\.htm$ viewpost.php?ID=$1 

/viewpost.php?ID=10

가되도록 한 변수가 전달되는 viewpost 나는이 두 줄을 htaccess 파일에 추가했다. 404 코드 양식을 제거하려고 시도했지만 파일을 저장했지만 작동하지 않게되었습니다. .htaccess 파일에이 코드를 추가하는 것 외에 다른 작업이 필요합니까? 사이트는 현재 atspace

Hosting OS Proprietary *nix 
Perl version 5.8.4 
MySQL version 5.1 
Perl path /usr/bin/perl 
Sendmail path /usr/local/bin/sendmail 
CGI-BIN path not required (You can run CGI, Perl scripts from any domain/subdomain folder) 
Perl Modules 2900+ installed modules (Click here to view the full list) 
PHP Version 5.2.17 Change 
PHP.INI Edit 
PHP Info [View PHP5.2.17 Info] [View PHP5.3.6 Info] 
Directory Protection  Enabled 

이 호스팅 설정 페이지에 기록 된 것입니다에서 호스팅되고있다. 메신저가 URL을 다시 쓸 수있게하려면 무엇이 필요한지 잘 모르겠지만, .htaccess 파일은 현재 내 404 페이지 메신저로 작동하고 있으므로 메신저 설정을 제대로했다고 가정합니다.

+0

'viewpost.php가 전달되면 1 변수'¿ 어디에서, 어떻게? 변수를 보유하고있는 들어오는 URL의 예를 보여줍니다. –

답변

1

.htaccess 파일의 다른 규칙이 규칙을 재정의하거나 대소 문자를 구분하는 문제가있을 수 있습니다. RewriteRule 줄 끝에 [NC,QSA,L]을 추가하십시오.

RewriteEngine On 
RewriteRule viewpost-ID-(.*)\.htm /viewpost.php?ID=$1 [NC,QSA,L] 

NC

QSA 대상 URL에 여분의 쿼리 문자열 매개 변수를 추가하며 L이가 현재 URL에 대한 일치하는 경우 더 RewriteRule 항목 처리를 중지하기 위해 아파치를 알려줍니다 사건을 무시합니다.

+0

나는 그것을 시험해 보았지만 행운은 없었다. 파일의 유일한 다른 것은 404 코드이며 삭제 된 것입니다. 위의 두 줄은 모두 파일에 추가 된 것입니다. – user1889580

+0

@ user1889580 대소 문자를 구분할 수 있습니까? –

+0

아니요 다시 확인했지만 다시 일치합니다. – user1889580

관련 문제