2015-01-18 3 views
0

최근에 htaccess에서 머리카락을 찢어 내고 있습니다. 기본적으로 http : // https로 자동 리디렉션을 설정했습니다. 이제 domain.tld/privacy.php 대신 단순히 domain.tld/privacy를 사용하여 파일 끝 (이 경우 .php)을 제거하는 기능을 추가하고 싶습니다.파일 이름, htaccess에 확장자가없는 자동 SSL 리디렉션

그러나 제대로 작동하지 않을 수 있습니다 (렌더링은 500 - 내부 서버 오류). 나는 S/O에 파일 이름이없는 엔딩에 여러 스레드를 훑어 보았고,이 라인들은 그 사람들에게 효과가있는 것처럼 보이지만 나에게는 그렇지 않다. 어떻게 든 SSL 규칙과 충돌 할 수 있습니까? 누군가가 올바른 방향으로 나를 가리킬 수 있다면, 그것은 많은 의무가 될 것입니다!

RewriteEngine On 
DirectorySlash Off 
Options -MultiViews 

RewriteCond %{HTTP_HOST} ^mightweb\.net [NC] 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://mightweb.net/$1 [R,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 
+0

당신이 무슨 말을하는 건가요 URL 그게 오류를 일으키는거야? 오류 로그에 뭐라고 쓰여 있습니까? –

+0

URL은 http : //mydomain.tld/about/입니다. /about (슬래시가없는)을 입력해도 자동으로 슬래시가 추가됩니다. Chrome에서 볼 수 있습니다. 이것은 FF에서 발생하지 않습니다. 엔딩 슬래시도 허용 할 수있는 방법이 있습니까? – CmdrSharp

답변

0

이에 두 번째 규칙 (즉, PHP 확장을 추가) 변경 시도 :

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f 
RewriteRule ^(.*?)/?$ /$1.php [L] 
+0

작품 dandy! 감사합니다! – CmdrSharp

1

당신은 (그냥 RewriteEngine On 아래) 그를 추가 할 수 있습니다

DirectorySlash Off 
Options -MultiViews 
+0

불행히도 다른 결과가 나오지 않았습니다. 'mydomain.tld/privacy /'는 여전히 500 서버 오류를 발생시키는 반면,'mydomain.tld/privacy'는 그렇지 않습니다. 메인 포스트의 .htaccess를 업데이트했습니다. – CmdrSharp

관련 문제