如何在URL重写中隐藏子文件夹

时间:2014-04-21 15:14:38

标签: php html .htaccess url-rewriting

我的网站是:www.mysite.com/subfolder/login/index.php

我希望其中的网址为www.mysite.com/login/index.php。我尝试修改根文件夹中的.htaccess文件,如下所示:

RewriteRule ^login\/index\.php$ /subfolder/login/index.php [L]

- 但问题是它无法使用或访问登录文件夹中的CSS文件(style.css)。

3 个答案:

答案 0 :(得分:1)

# fix js/images/css
RewriteRule ^.+?/((img|css|js)/.+)$ /subfolder/login/$1 [L,NC]

尝试将其添加为htaccess中的第一条规则。或者你可以使用

# fix js/images/css
RewriteRule ^.+?/((img|css|js)/.+)$ http://www.yourdomain.com/subfolder/login/$1 [L,NC]

您可以在此处查看更多示例和重写方法:https://wiki.apache.org/httpd/Rewrite

答案 1 :(得分:0)

为css添加另一个规则,或使用绝对CSS路径 e.g:

RewriteRule login\(.*)\.css /subfolder/login/$1.css [L]

答案 2 :(得分:0)

标题似乎与您描述末尾的问题不符,但回答后者:如果您在重写网址后遇到资产问题(图片,CSS,外部javascript等),请使用绝对值路径,例如:

/subfolder/login/style.css

而不是像:

../style.css    /* this will probably not work when rewriting urls */
相关问题