我有一个包含主页(商业资料)的网站和一个包含不同文件夹的文件夹:
我想将所有主页资源移动到名为“site”的文件夹中。我想要的是如下结构:
当我的用户访问www.example.com时,浏览器应该加载/站点资源而不更改网址,当他们访问www.example.com/blog时,浏览器应该加载/博客资源(如预期的那样)。
我正在尝试在我的根文件夹上使用.htaccess文件,并把它放在它上面:
RewriteEngine on
RewriteRule /(.*) /site [R]
但它不起作用。任何帮助将不胜感激。
答案 0 :(得分:1)
[R]
标志会导致向浏览器发出HTTP重定向。
相反,试试这个:
RewriteEngine On
RewriteBase /
# Ensure you do not running in redirection loop
RewriteCond %{REQUEST_URI} !^/site/
# Proceed if target is not a directory (handle accessing /blog, etc)
RewriteCond %{REQUEST_FILENAME} !-d
# Proceed if target is not a file
RewriteCond %{REQUEST_FILENAME} !-f
# Redirect all incoming requests to site/
RewriteRule ^(.*)$ /site/$1 [L]
# Redirect domain itself to the main site file (index.html, index.php, etc)
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ index.html [L]
请注意:
site
的所有实例替换为您的子目录example.com
替换为您的TLD域。