如何使用htaccess重定向到别名文件夹?

时间:2016-11-05 06:06:56

标签: php apache .htaccess

我有一个网址http://www.example.com/chatroom/chats.php?chat=hey亲爱的

我希望网址为http://www/example.com/chatroom/chats/hey亲爱的

其中聊天室是别名文件夹。

我的apache文档根目录指向特定文件夹,如DocumentRoot

RewriteEngine on RewriteBase / RewriteRule ^chatroom/([A-Za-z0-9-]+)/?$ chats.php?chat=$1 [NC]

我想尝试

 override func viewDidLoad() {

    super.viewDidLoad()

    // set map View delegate
    mapView.delegate = self

    // turn on user tracking mode to follow user

    if tracking == true {
    mapView.userTrackingMode = MKUserTrackingMode.follow

    } else {
         mapView.userTrackingMode = MKUserTrackingMode.none
    }


}

它的说法

  

404未找到。

2 个答案:

答案 0 :(得分:0)

您需要将.htaccess文件放在聊天室文件夹中,其中包含以下内容。

Options +FollowSymLinks
RewriteEngine on
RewriteRule chats/(.*) chats.php?chat=$1

如果放入根文件夹

,则为以下内容
RewriteEngine On
RewriteRule ^([^/]*)$ /chatroom/chats.php?chat=$1 [L]

以下是一些可以帮助您生成此类代码的工具。

http://www.generateit.net/mod-rewrite/index.php

http://www.webconfs.com/web-tools/url-rewriting-tool/

答案 1 :(得分:0)

为您的规则设置 QSA 标记,然后尝试

#include <iostream>
#include <time.h>
#include <iomanip>
#include <sstream>

int convert(const unsigned d){
    std::tm t = {};
    std::istringstream ss(std::to_string(d));  
    ss >> std::get_time(&t, "%Y%m%d");

    time_t t_ = mktime(&t);
    return (int)t_/(60*60*24);
}


int main(){
    int d = 20160718;
    std::cout << d << ": " << convert(d) << std::endl; //17000
    return 0;
}

QSA - 查询字符串追加