【问题标题】:How to hide subfolder name from script url如何从脚本 url 隐藏子文件夹名称
【发布时间】:2015-03-31 09:44:09
【问题描述】:

我想从脚本 url 中隐藏子文件夹名称:

<link rel="stylesheet" type="text/css" href="/abc/cde/css/bootstrap.min.css" />

我想更改 href="/abc/cde/css/bootstrap.min.css"

href="/css/bootstrap.min.css"

说明:

我正在使用共享主机。 我的网站位于文件夹 abc/cde/

我在根文件夹(/)使用以下 .htaccess

Options -Indexes
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?myhost.com$
RewriteCond %{REQUEST_URI} !^/abc/cde/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /abc/cde/$1

RewriteCond %{HTTP_HOST} ^(www.)?myhost.com$
RewriteRule ^(/)?$ abc/cde/index.php [L] 

一切正常。我可以直接访问 www.myhost.com。

但是

当我使用(查看源代码)时,子文件夹在此处可见

<link rel="stylesheet" type="text/css" href="/abc/cde/css/bootstrap.min.css" /> 

我也想隐藏这条路径。

仅供参考:我正在使用 Cakephp

【问题讨论】:

    标签: php .htaccess cakephp


    【解决方案1】:

    重写规则不能改变你的HTML源代码。你需要改变你的脚本标签如下:

    <link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css" /> 
    

    那么你的规则如下:

    Options -Indexes
    RewriteEngine on
    
    # to route css and js
    RewriteRule ^(css|js)/ /abc/cde%{REQUEST_URI} [L,NC]
    
    RewriteCond %{HTTP_HOST} ^(www\.)?myhost\.com$
    RewriteCond %{REQUEST_URI} !^/abc/cde/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /abc/cde/$1 [L]
    
    RewriteCond %{HTTP_HOST} ^(www\.)?myhost\.com$
    RewriteRule ^/?$ abc/cde/index.php [L] 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-23
      • 2017-11-01
      • 2020-07-14
      • 2015-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      相关资源
      最近更新 更多