방금 Vagrant로 이전했습니다. LAMP 스택을 설정했으며 지금까지 정말 기쁩니다. 내가 겪고있는 유일한 문제는 mod_rewrite입니다. mod_rewrite가 켜져 있고 리디렉션을 위해 작동하는지 확인했습니다.Vagrant에서 mod_rewrite 문제가 발생했습니다.
<VirtualHost *:80>
ServerName devserver.local
DocumentRoot /var/www/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/vagrant_dev-error.log
LogLevel warn
CustomLog /var/log/apache2/vagrant_dev-access.log combined
</VirtualHost>
내가 다음 내 htaccess로 파일에 다음과 같습니다 :
다음 코드는 내 가상 호스트 파일에이 "작업하는 데 사용"어떻게 기본적으로
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^tools\/([a-zA-Z_]+)\.json$ tools.php?tool=$1 [QSA,L]
</IfModule>
을 내가 http://www.devserver.local/tools/test_function.json을 실행하다 그리고 그것은 http://www.devserver.local/tools.php?tool=test_function
로 바뀌 었습니다. 이제는 내가 방황하고 있습니다. tools.php를로드했지만 쿼리 문자열 tool
(예 :)이 없습니다.). PHP 파일이 .php없이 실행될 수있게하는 설정이 거의 비슷합니다.
내가 도구 - test.php에 tools.php 이름을 변경하고 내 htaccess로 업데이트하면이 작업을 얻을 수 있습니다 :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^tools\/([a-zA-Z_]+)\.json$ tools-test.php?tool=$1 [QSA,L]
</IfModule>
은 그래서 실행하기 전에 파일을 종료하고 부하를 tools.php 감지 내 .htaccess 파일.
특별히 문제가 있다고 생각하지 않습니다. 아파치 또는 mod_rewrite의 설정 일 수 있습니다. 설정/해제 또는 구성해야합니다. 이전에 경험 한 사람이 있습니까?
SOLUTION
린 존 아래에 설명한 바와 같이,이 MultiViews
에 문제가 온되고 있었다. 내 가상 호스트 파일에서 .htaccess 파일을 직접 비활성화하는 대신 Jon의 제안 대신이 파일을 사용하지 않도록 설정했습니다. 둘 다 일했다.
<VirtualHost *:80>
ServerName devserver.local
DocumentRoot /var/www/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/vagrant_dev-error.log
LogLevel warn
CustomLog /var/log/apache2/vagrant_dev-access.log combined
</VirtualHost>
어떻게 설치 않았다 LAMP? 방랑하는 사람은 아파치의 작업에 영향을 미칠 수 없습니다. – Cheery
@Cheery 필자는 필요한 각 모듈을 설치했습니다. Apache, PHP, MySQL 등 모두 별도로 설치했습니다. 방글라데시의 특정 문제라고 생각하지 않습니다. mod_rewrite에서 설정해야 할 설정이 될 수 있으므로 tools /가로드 될 때 기본적으로 tools.php가 기본값이 아닙니다. –