2014-04-14 1 views
0
RewriteEngine On 
RewriteRule ^([^/\.]+)/?$ $1.php [L,QSA] 

이 내 링크입니다 domain.com/new.phpURL 재 작성 아파치 서버에서 작동하지 않는 제대로

URL 재 작성되지만 페이지는

를 찾을 수 없음 오류를 던지고있다 ... 를 실행하지 않는

요청한 URL /domin.com/new는이 서버에서 발견되지 않았습니다.

ErrorDocument를 사용하여 요청을 처리하는 동안 404 찾을 수 없음 오류가 발생했습니다. domain.com 포트 80

+0

가상 호스트/서버 구성 또는 .htaccess 파일에 해당 행을 지정 했습니까? – Callidior

+0

예, 코드를 실행중인 디렉토리에 .htaccess 파일을 넣었습니다. – user3530708

+0

도메인의 루트 디렉토리 (예 : 요청 URI가 "/ new")인지 또는 하위 디렉토리 (예 : 요청 URI는 "/ subdir/new"와 같습니다). 후자의 경우,'RewriteBase'를 적절하게 설정해야합니다. – Callidior

답변

-2

망가에서

아파치 서버는 확인해야합니다 당신은 완벽한

을 할 경우에도 잊지이

<li><a href="new">new</a></li>

당신이를 제거해야합니다 같은 링크 .php 링크의 확장 프로그램

+0

이 질문에 대한 답변이 없습니다. 그는 이미'요청한 URL /domin.com/new이이 서버에서 발견되지 않았습니다. '라고 질문했기 때문에이 질문에 대한 답은 무의미합니다. – Darren

0

시험 사용해보기 그렇지 않으면 아파치 재 작성에 문제가있다. 귀하가 추가 한 규칙도 정확합니다.

RewriteEngine on 
RewriteRule ^new?$ new.php [L] 
+0

자,하지만 OP가 제공 한 코드가 작동하지 않는 이유는 무엇입니까? – bjb568

0

서버에서 아파치 다시 쓰기를 사용하지 않도록 설정할 수 있습니다. 기능을 활성화 SSH를 통해이를 실행

a2enmod rewrite 

그런 다음 아파치 서비스를 다시 시작합니다

service apache2 restart 

를 문제가 해결되지 않으면 그것은 당신의 서버가 htaccess로 파일을 허용하지 않는 것이있을 수 있습니다. 이를 해결하려면/etc/apache2/sites-available/default 파일을 편집하십시오.

룩 :

<Directory /var/www/> 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride None 
      Order allow,deny 
      allow from all 
      # Uncomment this directive is you want to see apache2's 
      # default start page (in /apache2-default) when you go to/
      #RedirectMatch ^/$ /apache2-default/ 
    </Directory> 

변경 :

AllowOverride None 

사람 :

AllowOverride All 

그런 다음 다시 아파치를 다시 시작합니다.

또한이 문제는 apache 사용자 (www-data)가 특정 사이트에 대한 권한을 부여받지 않은 경우에 발생합니다. 그냥 여분의 힌트.

희망이 도움이됩니다.