나는 Heroku 삼나무 스택에 PHP 응용 프로그램을 실행 중입니다. URL 다시 쓰기 규칙을 설정하는 방법이 있습니까? .htaccess 파일에서이 작업을 수행하기를 원했지만 액세스 제어 지시문 만이 이에 인식됩니다.Heroku PHP cedar 스택 : URL 재 작성을 할 수 있습니까?
루비 조언은 레이크 재 작성을 사용하는 것이지만 PHP 응용 프로그램에서 일어날 필요가있는 것은 Heroku에서 URL 재 작성 구성이 있습니까?
나는 Heroku 삼나무 스택에 PHP 응용 프로그램을 실행 중입니다. URL 다시 쓰기 규칙을 설정하는 방법이 있습니까? .htaccess 파일에서이 작업을 수행하기를 원했지만 액세스 제어 지시문 만이 이에 인식됩니다.Heroku PHP cedar 스택 : URL 재 작성을 할 수 있습니까?
루비 조언은 레이크 재 작성을 사용하는 것이지만 PHP 응용 프로그램에서 일어날 필요가있는 것은 Heroku에서 URL 재 작성 구성이 있습니까?
Heroku에서는 PHP가있는 .htaccess
파일을 사용할 수 있습니다. 워드 프레스에서 해제
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
이 예 : 간단히과 유사한 다시 쓰기 조건과 .htaccess
파일을 만듭니다. 모든 URL이 /index.php
으로 리디렉션됩니다. 여기 https://github.com/catsby/php-heroku-htaccess 및 응용 프로그램 : 여기 예 http://php-heroku-htaccess.herokuapp.com/something
그래서 부분적으로 내 자신의 질문에 대답 내가 코멘트에 언급 것을 계속 여기에 맥 내가 만드는 데 필요한 Heroku가 htaccess로 파일의 차이는 다음과 같습니다
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ $1/$2?arg=$3 #Mac
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ $1/$2.php?arg=$3 #heroku
이것은 해결책보다 더 많은 해결 방법입니다. 나는 아파치 버전이 다르다고 믿지만, 결국에는 디버깅을 더 해보고 주석이없는 주석 부분을 가진 .htaccess 파일을 사용했다.
어디에서 heroku에 URL 재 작성을 사용할 수 없다는 것을 알 수 있습니까? heroku에서 실행되는 PHP에 관한 인터넷의 모든 문서에서 URL 재 작성을 사용할 수 있습니다. 예 : http://bitbetter.se/2011/11/11/wordpress-on-heroku/ –
나는 이것에 대해 많은 시행 착오를했는데 URL 재 작성이 작동하지 않는다고 생각한 이유가 밝혀졌습니다. 내 Mac과 heroku간에 .htaccess 파일의 해석이 다릅니다. 문자열 교체에 대한 정규 표현식을 해석하는 방법은 다르지만, 정확히 또는 무엇을 알아낼 수 없었습니다. 나는 이제 heroku와 Mac 부분을 .htaccess 파일에서 유지 관리하여 올바르게 해결하려고 노력했다. –