我的网站是example.com
。
在我的public_html文件夹中,我有两个文件夹。一个叫做main
,另一个叫做report
。
当有人导航到example.com
时,我想提供main
文件夹中的内容,但我希望他们的URL保持不变。
因此,如果他们导航到example.com/file.html
,我希望他们看到file.html
文件夹中的main
文件,但我不需要他们的网址更改为example.com/main/file.html
。
类似地,如果他们导航到report.example.com/report1.pdf
,我希望他们看到report1.pdf
文件夹中的report
文件,但我不需要他们的网址更改为report.example.com/report/report1.pdf
。
我能够实现的最接近的功能是:
DirectoryIndex index.php index.html index.htm
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^((?!main).*)$ /main/$1
RewriteCond %{HTTP_HOST} ^report.example.com$ [NC]
RewriteRule ^((?!report).*)$ /report/$1 [L]
这似乎在某种程度上可行,但是:
如果有人导航到http://example.com/report/index.html
,则服务器会错误地从index.html
文件夹而不是public_html/report
文件夹加载public_html/main/report
文件。通常,这条路径是有道理的,但在这种情况下,我试图更改这种行为。
如果有人导航到http://report.example.com/test
,则服务器会正确显示public_html/test/index.html
文件,但会将其重定向到http://report.example.com/report/test/
。
如何加载正确的文件并保持URL正确?
答案 0 :(得分:0)
这应该做:
@time