【问题标题】:Mod Rewrite under certain circumstances特定情况下的 Mod 重写
【发布时间】:2015-05-29 03:34:54
【问题描述】:

我的网站结构如下

/index.php
/anotherpage.php
/login/
/view/

我在 /view/ 目录中设置了一个 mod 重写,以便 /view/?id=aBc123 可以从 /view/aBc123 访问

但我想要实现的是一种能够从该 URL 中删除 /view/ 而不会干扰网站其余部分的方法。

这样 URL 看起来像

domain.com/aBc123 

但为了不影响以下内容

domain.com/index.php
domain.com/anotherpage.php
domain.com/login
domain.com/view

请注意,实际站点上还有很多合法的目录和文件,这些只是我想继续工作的场景示例。

所以场景是当它不是一个.php文件并且它不是一个合法目录时将它视为一个ID。

我正在尝试找出这个场景的 mod 重写是什么

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    您可以在DOCUMENT_ROOT/.htaccess 文件中使用此代码:

    RewriteEngine On
    RewriteBase /
    
    # If the request is not for a valid directory
    RewriteCond %{REQUEST_FILENAME} !-d
    # If the request is not for a valid file
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^((?!view/).*) view/$1 [L,NC]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-24
      • 1970-01-01
      • 2016-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多