标签: rewrite

如何将 Apache 重写规则移植到切诺基?

我对切诺基很陌生,除了 URL 重写之外,它很棒而且非常简单。有直接的指南吗?让我知道。

另外我将如何移植这个:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)

谢谢

mod-rewrite rewrite cherokee apache-2.2

7
推荐指数
1
解决办法
5869
查看次数

如何配置 nginx 为静态站点使用漂亮的 URL?

我有几个静态站点(主要由 Sphinx 生成),我试图在我的 VPS 上托管它们。我已经按照指南安装和配置了 nginx,我可以成功显示我的站点,但问题是 URL 是绝对的,而且看起来很难看。

例如,典型的站点文件夹可能如下所示:

/public_html/index.html /public_html/api.html /public_html/quickstart.html

并且 HTTP 请求/将 URL 更改为“ http://sitename/index.html ”。我基本上想从 URL 要求中删除所有静态前缀,并强制 nginx 将传入请求路由到 /、/api、/quickstart 到正确的位置,并在用户访问页面时强制 nginx 显示正确的漂亮 URL。

我试过谷歌搜索,但我发现的只是重写规则,我觉得这对于我想要做的事情来说太复杂了。

任何帮助将不胜感激。

rewrite nginx web-server

7
推荐指数
1
解决办法
5065
查看次数

IIS 7.5 Redirect / URL Rewrite to 移动版网站

我正在寻找一个 IIS 解决方案(不是编程)来将网站重定向到网站的移动版本。使用 IIS 重定向或使用 IIS URL Rewrite 2.0 看起来可能但不确定。如果是这种情况,人们会怎么做呢?

示例:mywebsite.com/ 重定向到(如果是移动设备)mywebsite.com/mobile

旁注:我们目前正在使用 IIS 重定向将 http 重定向到 https。

rewrite website mobile-devices iis-7.5

7
推荐指数
1
解决办法
4874
查看次数

使用 Apache 的默认目录索引文件时,如何从 URL 中删除尾部斜杠?

我正在使用 Apache 为一个由静态 HTML 文件组成的博客提供服务。目前,该博客使用非常标准的 URL 结构,如下所示:

/2010/03/21/my-awesome-blog-post/
Run Code Online (Sandbox Code Playgroud)

映射到文件

/2010/03/21/my-awesome-blog-post/index.html
Run Code Online (Sandbox Code Playgroud)

使用 Apache 的mod_dir.

我想删除尾部斜杠,以便 URL 像

/2010/03/21/my-awesome-blog-post
Run Code Online (Sandbox Code Playgroud)

以相同的方式工作(并且不会被重定向)。有没有办法用 Apache 做到这一点?

(请注意,我希望带有斜杠的URL 也能继续工作。)

(进一步说明:我看到了一些关于 ApacheDirectorySlash指令的内容,但我认为它没有做我想要的……虽然我不确定。)

rewrite apache-2.2

7
推荐指数
2
解决办法
3万
查看次数

nginx 上反向代理的多个 sub_filter 规则?

没有邪恶的计划,我试图在其他域下镜像站点,同时动态更改一些字符串。

我在新主机上设置了 nginx 作为主站点的 RP。这允许设置一个替换规则:

sub_filter      Originalstring  'new string';
sub_filter_once off;
Run Code Online (Sandbox Code Playgroud)

但是,我想运行多个规则,其中sub_filter 每个位置只允许一个

如果有的话,这里有什么解决方案?

rewrite nginx reverse-proxy

7
推荐指数
2
解决办法
4万
查看次数

Nginx:从基域重写到子目录

我在http://site.com/blog上托管了一个博客。

如何指示 nginx 重写来自site.comto 的请求site.com/blog

这不应该是永久性的。

rewrite nginx

7
推荐指数
2
解决办法
3万
查看次数

nginx url 重写。我只是不明白

好的,一个示例网址是

http://www.mysite.com/?p=account&view=settings

所述pURI是一个常数。所有网址都有。

view是许多可选的URI之一。

我试图理解 url 重写和正则表达式,但我只是不明白。我需要回去写代码,但不幸的是,我只是不断回来nginx.conf接受更多的惩罚。

我的目标是重写网址:

http://www.mysite.com/account/view/settings

我会向你展示我尝试过的东西,但它只是复制和粘贴了很多以前的例子,证明我在掌握正则表达式和 url 重写的概念方面是多么可悲。

如果有人可以花几分钟解释正则表达式部分,或者将我链接到一个很好的理解它的教程,我将不胜感激。

不,我不希望你为我做这项工作,但我谦虚地请求一些帮助来掌握重写的概念和在 nginx conf 中使用的变量。我可以看到一个叫做$uri,但不知道它是什么意思。我还需要添加一个正则表达式来否认在PHP脚本的直接访问/socket/private,但允许通过AJAX访问。我确信我可以将学到的关于正则表达式的任何知识应用到该任务中。

我的 nginx conf 的位置块

location ~ \.(hh|php)$ {
    fastcgi_keep_conn on;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
location ~* .(png|gif|ico|css|js)$ {
    expires 365d;
}   
location ~ .(aspx|jsp|cgi)$ {
    return 410;
}
location /socket {
    return 405;
}
location /private {
    return 405;
}   
location / {
    # include …
Run Code Online (Sandbox Code Playgroud)

rewrite url nginx regex

7
推荐指数
1
解决办法
2万
查看次数

Amazon S3 中的 URL 重写

我有一个托管在 Amazon S3 中的网络应用程序,该网络应用程序是使用 jQuery Mobile 构建的,我使用 changePage 在页面之间导航,我在更改页面时没有使用哈希运算符 (#)。

当用户复制 url 并将其粘贴到新选项卡时遇到问题

例如:

http://www.exampleurl.com/page1.html

加载 amazon s3 中的 page1.html 页面,只有 jquery 页面结构......

我想要的行为是加载 index.html 并使用 js 读取 url,检测页面并加载正确的页面。

使用 Apache,我通过 URL 重写解决了这个问题……但对于 Amazon S3,我没有找到任何类似的……

注意:我知道如果我在我的网址中激活哈希运算符 (#),问题就解决了,但我需要没有 # 的干净网址。

rewrite amazon-s3

7
推荐指数
1
解决办法
1万
查看次数

如何使虚拟主机 DirectoryIndex 文件出现在 url 中?

我已经设置了一个虚拟主机,它指定了在调用 URL 时要加载的默认文件。

我遇到的问题是我需要该默认 DirectoryIndex 文件出现在 URL 中。

因此,当我访问:www.mysite.co.uk 时,我希望 www.mysite.co.uk/app.php 出现在 URL 中。

如何使用我的 apache.conf 文件中的虚拟主机配置来实现这一点?

这是我当前的代码:

<VirtualHost *:80>
ServerName *.mysite.co.uk
DocumentRoot "/var/www/html/mysite/web/"
DirectoryIndex app.php
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

rewrite virtualhost directoryindex apache-2.2

6
推荐指数
1
解决办法
4万
查看次数

使用 nginx 重写规则出现“重定向过多”错误

我正在尝试重写针对我的站点的域 url,以便将所有域名重写为 www.example.com 并具有以下配置:

我的网站块

  server {      
        listen       80 default_server;
        listen   [::]:80 default_server ipv6only=on;

            server_name _;
            rewrite ^ $scheme://www.example.com$request_uri permanent;

    location / {

            # Allow for large file uploads
              client_max_body_size 0;

                proxy_http_version 1.1;
                proxy_pass http://mysite;
                proxy_buffering    off;

                proxy_set_header   X-Real-IP $remote_addr;
                proxy_set_header   X-Scheme $scheme;
                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header   Host $http_host;
    }
}
Run Code Online (Sandbox Code Playgroud)

tomcat 服务器块

server {
        listen        80;

        root /opt/site2/www;
        index index.html index.htm;

        # Redirecto root requests to Share
        rewrite ^/$ /share;

        location / {
            # First attempt to serve request …
Run Code Online (Sandbox Code Playgroud)

rewrite nginx reverse-proxy redirect 301-redirect

6
推荐指数
1
解决办法
5万
查看次数