我对切诺基很陌生,除了 URL 重写之外,它很棒而且非常简单。有直接的指南吗?让我知道。
另外我将如何移植这个:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
谢谢
我有几个静态站点(主要由 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。
我试过谷歌搜索,但我发现的只是重写规则,我觉得这对于我想要做的事情来说太复杂了。
任何帮助将不胜感激。
我正在寻找一个 IIS 解决方案(不是编程)来将网站重定向到网站的移动版本。使用 IIS 重定向或使用 IIS URL Rewrite 2.0 看起来可能但不确定。如果是这种情况,人们会怎么做呢?
示例:mywebsite.com/ 重定向到(如果是移动设备)mywebsite.com/mobile
旁注:我们目前正在使用 IIS 重定向将 http 重定向到 https。
我正在使用 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指令的内容,但我认为它没有做我想要的……虽然我不确定。)
没有邪恶的计划,我试图在其他域下镜像站点,同时动态更改一些字符串。
我在新主机上设置了 nginx 作为主站点的 RP。这允许设置一个替换规则:
sub_filter Originalstring 'new string';
sub_filter_once off;
Run Code Online (Sandbox Code Playgroud)
但是,我想运行多个规则,其中sub_filter 每个位置只允许一个。
如果有的话,这里有什么解决方案?
好的,一个示例网址是
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) 我有一个托管在 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,我没有找到任何类似的……
注意:我知道如果我在我的网址中激活哈希运算符 (#),问题就解决了,但我需要没有 # 的干净网址。
我已经设置了一个虚拟主机,它指定了在调用 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) 我正在尝试重写针对我的站点的域 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)
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 ×10
nginx ×5
apache-2.2 ×3
301-redirect ×1
amazon-s3 ×1
cherokee ×1
iis-7.5 ×1
mod-rewrite ×1
redirect ×1
regex ×1
url ×1
virtualhost ×1
web-server ×1
website ×1