【问题标题】:.htaccess rewrite advanced rule.htaccess 重写高级规则
【发布时间】:2012-06-25 05:59:50
【问题描述】:

我想要一个 .htaccess 重写规则,但我不知道怎么做。

示例

www.example.com/index.php => www.example.com/index.php

www.example.com/folder/profile.php => www.example.com/profile.php

www.example.com/folder => www.example.com

一种重写规则,可以在顶层提供来自特定文件夹的文件,同时仍然提供顶级文件。

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    给你!试试这个

    编辑:进行了更改以排除 index.php!

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

    我对我的 Zend Framework 项目做同样的事情,我将所有请求从我的 http://domain.com/public/ 路由到 http://domain.com/

    【讨论】:

    • 你想让 example.com /index.php 成为例外吗?很抱歉,虽然我看到了你的问题,但我以为你打错了::P
    • 我修改了答案,你现在可以试试吗?
    【解决方案2】:

    要在文件不存在时重定向,请执行此操作

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /folder/$1 [R]
    

    【讨论】:

    • 您是否包含标志,我建议以 [R] 开头
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多