我有一个域名(比如说www.example.com),并希望这个指向我服务器的/ Example_folder /(在/ var / www /)中。
因此,如果我尝试转到www.example.com/images/test.html或example.com/images/test.html,它应该实际指向/Example_folder/images/test.html.
我尝试使用以下代码来解决这个问题,但我无法理解。
试验#1:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ [NC]
Rewriterule ^(.*) /Example_Folder/ [L]
如果我使用上面的代码,我会得到ERR_TOO_MANY_REDIRECTS。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ [NC]
Rewriterule ^(.*) /Example_Folder/index.html [L]
如果我使用上面的代码(指定了index.html),它会重定向,但我无法让我的域指向其子目录。 (www.example.com/images/test.html也会指向www.example.com/index.html)
我使用以下链接中的代码工作了: htaccess Silent Redirect to Subdirectory: Subdirectory showing when no trailing '/'
剩下的最后一点是,当我指向www.example.com/Example_Folder时,我希望地址栏显示www.example.com,但我还没想出来。
答案 0 :(得分:0)
您可以使用此基于负前瞻的规则来避免重写循环:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC]
Rewriterule ^((?!Example_Folder/).+)$ /Example_Folder/$1 [L,NC]
这意味着只有在URI尚未以Example_Folder/
开头时重写。