이것은 해결책을 찾고있는 질문이 아니며, 약간의 설명이 필요한 질문입니다.Modrewrite 로컬 호스트에서는 작동하지만 서버에서는 작동하지 않습니다.
며칠 전 localhost (XAMPP 실행)에서 제대로 작동하는 mod_rewrites를 사용하여 제작 서버 (CentOS 6 램프 스택)에서 작동하는 데 많은 어려움을 겪고있었습니다.
로컬 호스트에RewriteEngine On
RewriteBase/
RewriteRule ^my/page/([a-zA-Z0-9]+)$ /my/page/$1/
RewriteRule ^my/page/([a-zA-Z0-9]+)/$ /my_page.php?t=$1
, 위의 라인이 완벽하게 작동하고 다음을 수행 : 위의 규칙이 효과가없는 한 내 프로덕션 서버에서, 그러나
my/page/ab123 --> my_page?t=123
을
다시 쓰기는이처럼 보였다 . 나는 mod_rewrites와 서버 아키텍쳐에 대해 매우 새롭기 때문에 솔루션을 찾는 것이 몇 시간이나 걸렸다. 이제 솔직히 아무런 단서도 없었기 때문에 아래에서 왜 내 문제를 해결했는지 알고 싶습니다.
RewriteEngine On
RewriteBase/
RewriteRule ^/my/page/([a-zA-Z0-9]+)$ /my/page/$1/
RewriteRule ^/my/page/([a-zA-Z0-9]+)/$ /my_page.php?t=$1
간단한 변화였습니다. 페이지 이름 앞에 슬래시를 추가해야했습니다. ^/my/page
항상이 추가 문자를 추가 할 필요없이 내 서버로 내 htaccess 파일을 옮기고 싶습니다. 이 문제를 해결할 방법이 있습니까?
또한, 다음과 같은 옵션이 내 httpd.conf
파일
<Directory /my/sites/directory>
Options -Indexes +Multiviews +FollowSymLinks
DirectoryIndex index.php index.html
AllowOverride All
Allow from all
</Directory>
알아두면 좋겠어. 내 질문에 완벽하게 대답합니다. 고맙습니다 –