Windows에서 xampp을 실행하는 개발 서버에서 .htacess 다시 쓰기 규칙이 올바르게 작동합니다. Linux core 3.8.0-21-generiC#32-Ubuntu SMP Server version: Apache/2.2.22 (Ubuntu)
을 실행중인 라이브 서버에 가면 매개 변수가없는 규칙이 더 이상 작동하지 않지만 매개 변수가있는 규칙이 작동합니다.htaccess 규칙은 리눅스 서버에서 작동하지 않습니다.
Options -Indexes
<filesMatch "\.(html|htm|txt|js|htaccess)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>
ErrorDocument 404 /404.php
RewriteEngine On
#Main site rules
RewriteRule ^login/?$ login.php [NC,L]
RewriteRule ^contact/?$ contact.php [NC,L]
위의 규칙은 contact.php와 login.php로 가서 작동하지 않습니다. 그러나 매개 변수가있는이보다 복잡한 규칙은 작동합니다. RewriteRule ^game/([a-zA-Z0-9]+)/?$ handles/handle-game-select.php?name=$1 [NC,L]
이 문제를 일으키는 두 서버 환경에는 차이가 있습니까? RewriteRule ^contact.x contact.php [NC,L]
우리가이 일에
매우 혼란 ... contact.php에 도달 할 수 있습니다
또한, 우리는 같은 이상한 일을하는 경우에 나타납니다.
도움 주셔서 감사합니다.
감사합니다. 이것에 비틀 거린 다른 사람도이 기사를 즐길 수 있습니다 : http://blog.razuna.com/2008/03/27/apache-htaccess-and-directive-multiviews/ – Vigs
잘 했어, 다행 이네. – anubhava