代码之家  ›  专栏  ›  技术社区  ›  Brett Pontarelli

Apache rewrite添加一个目录以请求在运行wamp的localhost上不起作用的URI

  •  0
  • Brett Pontarelli  · 技术社区  · 16 年前

    我在跑步 wamp http://localhost/projectx 是的基目录 projectx

    http://localhost/projectx/somepage/extra
    

    http://localhost/projectx/PUBLIC/somepage/extra
    

    为此,我有一个文件 C:\wamp\www\projectx\.htacces 这很简单:

    RewriteEngine On
    RewriteBase /projectx
    RewriteCond %{REQUEST_URI} !^/PUBLIC
    RewriteRule ^(.*)$ /PUBLIC$1 [L]
    

    2010年3月25日更新:

    根据Michael的解,我去掉了绝对路径。出于某种原因,我还需要在Cond和Rule中添加最后一个斜杠:

    RewriteEngine On
    RewriteBase /projectx
    RewriteCond %{REQUEST_URI} !^/PUBLIC/
    RewriteRule ^(.*)$ PUBLIC/$1 [L]
    
    2 回复  |  直到 16 年前
        1
  •  1
  •   nu11p01n73R    9 年前

    尝试更改:

    RewriteRule ^(.*)$ /PUBLIC$1 [L]
    

    对此:

    RewriteRule ^(.*)$ PUBLIC$1 [L]
    

    问题可能就出在绝对路径上。

    你还需要改变 $1 RewriteRule ^(.*)$ PUBLIC$0 [L]

        2
  •  0
  •   nu11p01n73R    9 年前

    应该是

    RewriteEngine On     
    RewriteBase /projectx  
    RewriteCond %{REQUEST_URI} !^/PUBLIC  
    RewriteRule  ^(.*)(PUBLIC)(.*)$ /projectx/PUBLIC$3 [L]
    
    推荐文章