PHP를 사용하여 웹 사이트를 개발하고 있습니다.
그리고 PHP의 매개 변수로 URL의 첫 번째 디렉토리 이름을 사용하고 싶습니다.디렉토리에 액세스 할 때 mod_rewrite가 작동하지 않습니다.
RewriteRule ^([a-z][a-z])/(.*)$ xyz/$2?first-dir=$1 [L]
내가 http://example.com/aa/b/
에 액세스
/xyz/b/index.php
이 매개 변수 first-dir=aa
으로 실행됩니다
나는 다음 다시 쓰기 규칙을 가지고있다.
브라우저의 주소 표시 줄에있는 URL은 http://example.com/aa/b/
(입력 URL과 동일)입니다.
하지만 (/
을 미행하지 않고) http://example.com/aa/b
에 액세스 할 때, 주소 표시 줄에
URL은 http://example.com/xyz/b/?first-dir=aa
을하게된다.
이 URL을 사용자에게 표시하고 싶지 않습니다.
왜 이런 일이 발생합니까?
이 문제를 해결하는 방법?
감사! 나는'DirectorySlash'에 대해 매우 기쁩니다. RewriteRule이 작동합니다. 그러나'/ aa/any.php'를'xyz/any.php? first-dir = aa'로 다시 쓰고 싶었습니다. 다음 코드는 가능한 그렇게합니다 ''부터 DirectorySlash Off' 한다 RewriteCond % {REQUEST_FILENAME} /index\.php -f' 'RewriteRule의 (^. *) $ $ 1/index.php에 [L] ' 'RewriteRule^([az] [az]) (/.*$ | $) xyz $ 2? first-dir = $ 1 [L]' –