我有一个" mysite.com"我想加载它来加载来自" mysite.com/new-site"夹。 我的.htaccess现在看起来像这样:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$
RewriteRule ^/?$ "http\:\/\/mysite\.com\/" [R=301,L]
RewriteRule ^(/)?$ new-site/ [L]
它加载html但是没有任何css,js或图像。如何告诉htaccess从新站点目录加载它们?
答案 0 :(得分:0)
你可以使用这样的东西
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?:[^/]*/)*([^/.]+\.(?:jpe?g|gif|bmp|png|tiff|css|js|images))$ /new-site/$1 [R=301,L,NC]
编辑:
这里有一些代码和一些解释,所以你可以注意到服务器上的所有内容。
RewriteEngine On
RewriteCond %{THE_REQUEST} "index.php"
RewriteRule ^index.php$ public/ [R=301,L]
RewriteRule . public/index.php [QSA,L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?:[^/]*/)*([^/.]+\.(?:jpe?g|gif|bmp|png|tiff|css|js))$ /public/assets/$1 [R=301,L,NC]
首先,它说要搜索index.php(在你的情况下,它可能是index.html或网站首先启动的任何其他内容),之后它会重定向到服务器上的文件夹public /,因为idex.php位于/ www / public或/ public_html / public,在你的情况下它可能是/ www / new-site /所以你要在那部分代码中做new-site /,然后添加相同的。所以new-site / index.php或者你的情况。在最后一部分它说要搜索以/ public / assets /中的jpg / jpeg,gif,bmp,png,tiff,css或js结尾的文件,在你的情况下它可能是new-site / assets /或者只是new -site /.
希望这能澄清一下。
答案 1 :(得分:0)
使用:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.exemple\.com$ [NC]
RewriteRule ^ http://exemple.com%{REQUEST_URI} [NE,R=301,L]
RewriteRule ^((?!new-site/).*)$ /new-site/$1 [L]