【问题标题】:.htaccess mod_rewrite for nested folder structuring.htaccess mod_rewrite 用于嵌套文件夹结构
【发布时间】:2010-03-07 02:06:15
【问题描述】:

我最近在网上找到一篇文章告诉我:

RewriteRule ^mock-up/([^/]+)/([^/]+) /mock-up/index.php?page=$1&section=$2 [NC]

现在唯一让我发疯的是我是否希望能够拥有第二个目录。喜欢:

RewriteRule ^mock-up/([^/]+)/([^/]+) /mock-up/index.php?page=$1&section=$2 [NC]
RewriteRule ^mock-up/([^/]+) /mock-up/index.php?page=$1 [NC]

但这破坏了 apache... 那该怎么办呢?请帮忙,我需要为我的客户进行 seo,我不希望为此制作单独的文件。

【问题讨论】:

    标签: .htaccess mod-rewrite url-rewriting nested subdirectory


    【解决方案1】:

    问题是mock-up/index.php 也与mock-up/([^/]+) 匹配。所以你需要直接排除目标:

    RewriteRule ^mock-up/index\.php$ - [L]
    

    或间接:

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]
    

    所以试试这个:

    RewriteRule ^mock-up/index\.php$ - [L]
    RewriteRule ^mock-up/([^/]+)/([^/]+)$ /mock-up/index.php?page=$1&section=$2 [NC]
    RewriteRule ^mock-up/([^/]+)$ /mock-up/index.php?page=$1 [NC]
    

    【讨论】:

    • 感谢您的快速回复,除非需要,否则我很少接触 .htaccess,但我注意到 wordpress 实现了这个聪明的策略。这行得通,但是该“模拟”目录中的其他文件不再显示,所以有什么建议吗?感谢您的帮助!
    猜你喜欢
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多