려
www.example.com
직접 가다
www.example.com/store
여러 비트의 코드를 시도했지만 아무것도 작동하지 않습니다.
내가 시도한 것 :
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(.+)\www.example\.com$
RewriteRule ^/(.*)$ /samle/%1/$1 [L]
내가 뭘 잘못하고 있죠?
답변
^ $ 를 사용 하여 루트를 나타내는 다시 쓰기 규칙을 사용 하여 다음과 같이 루트를 / store 디렉토리에 다시 쓸 수 있습니다.
RewriteEngine On
RewriteRule ^$ /store [L]
답변
아무도 이것을 언급하지 않은 것에 놀랐습니다.
RedirectMatch ^/$ /store/
기본적으로 루트 URL과 루트 URL 만 리디렉션합니다. 답변은 이 링크 에서 시작되었습니다
답변
이 시도:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteRule ^$ store [L]
방문 브라우저에 리디렉션 된 URL이 표시되도록하는 외부 리디렉션을 원할 경우 R
플래그도 설정하십시오 .
RewriteRule ^$ /store [L,R=301]
답변
다음은 하위 디렉토리로 리디렉션하는 데 사용한 것입니다. 이것은 보이지 않고 기존 파일과 일치하는 요청을 통해 여전히 허용합니다.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?site.com$
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdir/$1
RewriteCond %{HTTP_HOST} ^(www.)?site.com$
RewriteRule ^(/)?$ subdir/index.php [L]
값으로 site.com 및 subdir을 변경하십시오.
답변
루트에서 하위 폴더로의 보이지 않는 리디렉션을 설정하려면 /root/.htaccess에서 다음 RewriteRule을 사용할 수 있습니다.
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/subfolder
RewriteRule ^(.*)$ /subfolder/$1 [NC,L]
위의 규칙은 내부적으로 브라우저를 다음에서 리디렉션합니다.
에
과
에
브라우저는 루트 폴더에 남아 있습니다.
답변
URL을 다시 작성하고 원래 URL을 숨기려는 경우 다른 대안 :
RewriteEngine on
RewriteRule ^(.*)$ /store/$1 [L]
이것으로 예를 들어 type http://www.example.com/product.php?id=4
인 경우 파일을 투명하게 열지 http://www.example.com/store/product.php?id=4
만 사용자에게 전체 URL을 표시하지 않습니다.
답변
가장 간단한 해결책 인 것 같습니다.
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) http://www.example.com/store [R=301,L]
다른 솔루션 중 일부와 함께 리디렉션 루프가 발생했습니다.