2012-02-02 2 views
0

내가 URL을 필요 그래서 내가 우분투 11.10에 lampp를 실행 그리고 난 문제URL 우분투에서 로컬 호스트에서 작동하지 않는 재 작성

을 다음 있습니다 : 로컬 호스트/MyName로/oefeningenPHP/CMS/index.php에 머리를 = 대한

에 다시 : 로컬 호스트/MyName로/oefeningenPHP/CMS/내가 학교에 대한 다른 PHP 연습과 폴더를 많이 가지고 있기 때문에 약

URL이 좀 지저분하다.

내 .htacces가에 위치하고 있습니다 : CMS 이후 로컬 호스트/MyName로/oefeningenPHP/CMS를

나의 사이트의 루트입니다.

.htacces 다음 코드가 포함

<IfModule mod_rewrite.c> 

Options +FollowSymLinks 
RewriteEngine on 

RewriteRule ^/([a-z]+) /index.php?head=$1 

</IfModule> 

을하지만 404 오류를 반환합니다.

는 또한 나는 내가 그래서 난 나를 도울 수 여기에 누군가를 바라고 있어요 아이디어가 부족했던하여 http.conf 파일

에서 주석 이후 재 작성 모듈이로드되고 확신합니다. 나는 앞으로이 RewriteRule의 슬래시에 대해 매우 잘 모르겠지만, 나는 여러 가지 아무것도 시도했습니다 일부 정크를 추가하여

+1

정규식은 단순히 태그를 삭제 URL – Ibu

+1

일치하지 않습니다 :
는이 파일을 편집 할 필요가, 예상대로 .htaccess 파일을 작동하게합니다. 그들은 쓸모가 없다. 500 오류가 발생하면 URL 재 작성 활성화하지 않습니다. – machineaddict

+0

슬래시는 표현을 시작합니다. – Gerben

답변

1

당신은 또한 당신이 htaccess로 설정되어 있는지 확인한다

RewriteRule ^([a-z]+) index.php?head=$1 [L] 

을 시도 작동 그것에 예. asdfasdfasdfasd을 저장하고 URL에 액세스를 시도하십시오. 500 오류가 발생하지 않으면 사용 불가능합니다. 이미 sudo를 a2enmod 실행 명령을 재 작성하지만 URL 다시 쓰기가 작동하지 않는 경우

AllowOverride None 

를 말한다 라인을 찾아 활성화하고

AllowOverride All 
+0

슬래시가 없으면 오류가 발생하지 않지만 PHP 오류가 발생합니다. get 매개 변수가 더 이상 통과되지 않았기 때문입니까? – matthiasdv

+0

@ user1185774 필자는 그렇게 생각하지 않지만 직접 URL로 이동하여 확인할 수 있습니다. 즉,'localhost/myname/oefeningenPHP/cms/index.php? head = about'이 동일한 오류를 주면 관련이 없습니다 .htaccess 규칙에 –

1

로 변경합니다.

Step1 : sudo vi /etc/apache2/sites-available/default 

Step2 : Look for a section that looks like this: 
    <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> 
You need to modify the line containing AllowOverride None to read AllowOverride All. 
step 3 : sudo /etc/init.d/apache2 reload