如何隐藏在URL中的子文件夹重写(How to hide a subfolder in url re

2019-10-19 22:49发布

我的网站是: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文件)。

Answer 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



Answer 2:

添加另一个规则的CSS,或使用绝对路径CSS例如:

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


Answer 3:

标题似乎并不符合你的描述结束的问题,而是回答后:如果你有一个问题,您的资产(图像,CSS,外部JavaScript等),URL重写后,使用绝对路径,为例:

/subfolder/login/style.css

而不是这样的:

../style.css    /* this will probably not work when rewriting urls */


文章来源: How to hide a subfolder in url rewriting