【问题标题】:mod_rewrite check directory rule [closed]mod_rewrite 检查目录规则
【发布时间】:2012-02-22 15:23:58
【问题描述】:

我有一个前任的网址:

example.com/site/anyFolderName

我想将其重新映射到:

example.com/site/myfolder/anyFolderName

但只有在“anyFolderName”文件夹存在时才去那里。我已经在几个地方搜索过,但无法真正弄清楚。


这是我目前发现的:

Rewrite Condition to compare top level directory from Request_URI - 与我需要的非常相似,但我有 2 个级别

http://httpd.apache.org/docs/2.2/rewrite/remapping.html #在多个目录中搜索页面

谢谢。

【问题讨论】:

    标签: apache .htaccess mod-rewrite apache2 directory


    【解决方案1】:

    尝试将以下内容添加到站点根目录中的.htaccess 文件中。

    RewriteEngine on
    RewriteBase / 
    
    RewriteCond %{REQUEST_URI} ^/site/(\w+)$ [NC] 
    #if site/myfolder/anyFolderName exists
    RewriteCond %{DOCUMENT_ROOT}/site/myfolder/%1 -d
    #rewrite request to site/myfolder/anyfolder
    RewriteRule ^ site/myfolder/%1 [L,NC]     
    

    【讨论】:

    • 它有效。非常感谢你 !还有一件事。在我的 URL 中,它看起来像 example.com/site/myfolder/anyFolderName/。有什么方法可以从链接中隐藏 myfolder 吗?例如:example.com/site/anyFolderName
    猜你喜欢
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 2010-12-23
    相关资源
    最近更新 更多