2013-05-19 2 views
0

나는 3 시간 동안이 작업을 수행 했으므로 mod_rewrite을 하위 도메인의 공유 서버에서 사용할 수 없습니다. 하위 디렉토리에 응용 프로그램이 있고 이전에 여러 서버에서 동일한 규칙을 사용했기 때문에 작동한다는 것을 알고 있습니다. 여기에 내가있어 무엇 :Godaddy Ubuntu 3.6 mod_rewrite 문제

PHP 버전 5.3.10-1 Ubuntu3.6

subdomain root/ 
-.htaccess 
--appdir/ 
---.htaccess 
----public/ 
-----.htaccess 

하위 도메인 루트/htaccess로

문서 루트 .htaccess은 여기까지
Options -Multiviews 

을, 많은 사람들이 GoDaddy 서버에서이 작업을 제안했습니다.

APPDIR/htaccess로

Options -Multiviews 

RewriteEngine on 
RewriteBase /appdir 
RewriteRule ^$ public/ [L] 
RewriteRule (.*) public/$1 [L] 

이 루트에게 appdir/public 디렉토리에 대한 모든 요청을

APPDIR/mod_rewrite

Options -Multiviews 

RewriteEngine On 
RewriteBase /appdir/publiC### also tried just adding /appdir ### 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?url=$1 [PT,L] 

ErrorDocument 404 index.php 

그냥 확실하게 htaccess로/공개했다 사용 가능, 실행 한 결과 : sudo a2enmod rewrite에서 Bash로 가서 print_r(apache_get_modules());으로 아파치를 다시 시작한 후 확인해 보았습니다. 문제가 무엇인지에 관해서는 완전히 망가졌습니다. 누구나 GoDaddy와 비슷한 경험을 가지고 있으며 mod_rewrite을 실행하기 위해해야 ​​할 일에 대한 제안이 있습니까? 미리 감사드립니다. 기본 우분투에서

+0

당신 GoDaddy를 말하지만, 다른 곳에서 성공 당신의 .htaccess를 시도? – Steven

+0

htaccess 파일에 유효하지 않은 텍스트를 던지십시오. AllowOverride가 사이트 루트에서 올바르게 설정되지 않아 .htaccess가 검토되지 않을 가능성이 있습니다. 서버가 .htaccess를보고 있다면 서버에서 500 오류를 받아야합니다. – Orangepill

+0

@Orangepill - 좋은 제안입니다. 잘못된 텍스트로 3 개를 모두 처리 했으므로 오류가 발생하지 않았으므로 올바른 것으로 가정합니다. 이 문제를 해결하기 위해 내가 할 수있는 것에 대한 제안 사항이 있습니까? – dcd0181

답변

1

당신이 한 일어나서 설치하고 mod_rewrite를 실행 :

모드 재 작성을 사용

다음
a2enmod rewrite 

당신은 사이트 설정에서 재정의 (수 있는지 확인은/etc/아파치/sites-available /) 그리고 '012'에서 'AllowOverride All'라인을 업데이트하십시오.

재 장전 아파치 설정

service apache2 reload 
+0

감사합니다. 나는 마침내 달리고있다. – dcd0181