标签: url-rewriting

在 URL 中使用非拉丁字符

我正在开发一个网站,客户已将其翻译成克罗地亚语和斯洛文尼亚语。为了与现有的 URL 模式保持一致,我们生成了模仿应用程序布局的 URL 重写规则,这导致 URL 中出现许多非 ASCII 字符。

\n\n

示例 \xc5\xa1 \xc5\xbe \xc4\x8d

\n\n

有些链接是使用 getURL 从 Flash 触发的,有些是标准 HTML 链接。有些是编程式的 Response.Redirects,有些是通过向响应添加 301 状态代码和位置标头来实现。我正在 IE6、IE7 和 Firefox 3 中进行测试,浏览器间歇性地显示非拉丁字符 url 编码。

\n\n
\xc5\xa1 = %c5%a1\n\xc5\xbe = %c5%be\n\xc4\x8d = %c4%8d\n
Run Code Online (Sandbox Code Playgroud)\n\n

我猜这与 IIS 及其处理 Response.Redirect 和 AddHeader("Location ...

\n\n

有谁知道强制 IIS 不对这些字符进行 URL 编码的方法,或者我最好的选择是用非变音符号替换这些字符?

\n\n

谢谢

\n

asp.net iis-6 friendly-url url-rewriting non-ascii-characters

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

301 重定向在 IIS 7 中不起作用

我需要创建这个 301 重定向规则: /blog/item.asp?n=12817redirect to/blog/item/12817

我使用以下参数在 IIS URL Rewrite 模块中创建了一个规则:

图案: ^blog/item.asp\?n=([0-9]+)

重定向网址: blog/item/{R:1}

当我在 IIS 中测试它时它工作正常,它在我的 web.config 中创建了这个规则:

<rule name="Asp classic Legacy 301 redirect" stopProcessing="true">
   <match url="^blog/item.asp\?n=([0-9]+)" />
   <action type="Redirect" url="blog/item/{R:1}" appendQueryString="true" />
</rule>
Run Code Online (Sandbox Code Playgroud)

但是当我/blog/item.asp?n=12817在浏览器中导航时,它仍然显示我的The resource cannot be found.文本错误Requested URL: /blog/item.asp

为什么可以?我需要在其他地方切换其他东西吗?

谢谢

iis redirect iis-7 url-rewriting url-rewrite-module

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

如何使用查询字符串进行 lighttpd 重定向

以下网址工作正常:

http://www.domain.com/address
Run Code Online (Sandbox Code Playgroud)

但是当我传递任何查询字符串时,例如:

http://www.domain.com/address?back=order-opc.php?step=1
Run Code Online (Sandbox Code Playgroud)

显示404页面

我的重写:

"^/address" => "/address.php",
Run Code Online (Sandbox Code Playgroud)

我尝试了很多不同的重写似乎都不起作用...我应该如何重写?

friendly-url lighttpd url-rewriting query-string

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

HTACCESS - 排除某些域

我已经重写了 cond 就像这样

RewriteCond %{HTTP_HOST} !^bamse\.ba$ [NC]
RewriteRule ^(.*)$ http://bamse.ba/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

我在互联网上的某个地方发现了我自己没有写过的代码。它的作用是将我所有的子域(如 www.bamse.ba、hello.bamse.ba)重定向到 bamse.ba。

够公平的。这工作正常,但问题是我使用 timthumb.php 脚本,它从 images.anka.com 加载所有图像

现在的问题是,如果我启用重写规则,我的所有图像都是从 bamse.ba 而不是 images.anka.com 加载的

我如何排除域images.anka.com 它不是重写规则的一部分。有任何想法吗?

apache .htaccess mod-rewrite url-rewriting

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

从 ubuntu 中 laravel 的 url 中删除 index.php

我尝试了几种方法来从我的 URL 中删除 index.php。

像这样的问题

网址不起作用(我想要这个):http : //mysite.in/our-story

网址工作(我不想要这个):http : //mysite.in/index.php/our-story

1) 我试图启用 rewrite_mod 但它已经启用。

2) 我曾尝试将此代码写入 .htaccess 文件,但问题未解决。

选项 -MultiViews RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L] </IfModule>
Run Code Online (Sandbox Code Playgroud)

任何文件安装剩余?然后告诉我??(但我已经安装了所有东西。)

我的 000-default 文件是:

    ServerAdmin webmaster@localhost

    ServerName mydomain.in

    DocumentRoot /var/www/mysite/public
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/mysite/public/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny …
Run Code Online (Sandbox Code Playgroud)

ubuntu mod-rewrite url-rewriting laravel

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

红色警报 [AWS]

简而言之,我希望能够使用 htaccess 以便我可以执行各种重写命令。我正在使用 AWS elasticbeanstalk,下面是我试图让 htaccess 工作时的困境。

我的实例上传失败,并收到如下图所示的红色警报: 在此处输入图片说明

基本上我已经使用 .ebextensions 覆盖了所有内容,以允许 htaccess 使用以下代码:

files:          
  "/etc/httpd/conf.d/enable_mod_rewrite.conf": 
     mode: "644"
     owner: root
     group: root
     content: |
       AllowOverride All
Run Code Online (Sandbox Code Playgroud)

但这不是导致问题的原因。什么运行问题是这样的:

RewriteEngine On
Run Code Online (Sandbox Code Playgroud)

位于 htaccess。几乎就像它不能接受 rewritenegine 被打开一样。

更新:

在 /var/log/eb-activity.log 中:

Command CMD-TailLogs succeeded.
[2015-07-10T10:25:09.784Z] INFO  [25589] - [CMD-TailLogs] : Starting activity...
[2015-07-10T10:25:10.206Z] INFO  [25589] - [CMD-TailLogs/AddonsBefore] : Starting activity...
[2015-07-10T10:25:10.207Z] INFO  [25589] - [CMD-TailLogs/AddonsBefore] : Completed activity.
[2015-07-10T10:25:10.207Z] INFO  [25589] - [CMD-TailLogs/TailLogs] : Starting activity...
[2015-07-10T10:25:10.207Z] INFO  [25589] - [CMD-TailLogs/TailLogs/TailLogs] : Starting activity...
Run Code Online (Sandbox Code Playgroud)

在 …

apache .htaccess url-rewriting amazon-web-services amazon-elastic-beanstalk

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

socket.io 忽略 url 路径似乎导致轮询 GET 404 错误

我正在尝试使用node.js和运行聊天脚本socket.io。我遵循了 socket.io 网站上的教程,让它在我的本地 Windows 节点服务器上运行http://localhost:3000得很好。

现在我将项目转移到一个网络服务器,它将使用port 54321. 因为服务器运行的是 Apache 网络服务器,所以我需要使用一个.htaccess文件将请求重定向到 node.js 服务器:

RewriteEngine On
RewriteRule ^chat/(.*) http://localhost:54321/$1 [P]
Run Code Online (Sandbox Code Playgroud)

所以我的聊天脚本可以在 http://www.examle.com/chat/

该网站将在浏览器中正常打开,所有 HTML 都在那里。但是 socket.io 功能不起作用。控制台(浏览器、客户端)显示以下错误消息:

GET http://www.example.com/socket.io/?EIO=3&transport=polling&t=1439208895332-0 404 File not found
Run Code Online (Sandbox Code Playgroud)

我在 SO 上看到过类似的问题,它们有相同的 404 问题。答案主要是关于服务器 index.js 中变量的正确顺序。我尝试了这些解决方案只是为了确定,但它们没有帮助。因为该脚本确实在我的本地服务器上运行(url 中没有任何子目录),所以我认为它可能有所不同。奇怪的是,客户端 socket.io 脚本似乎忽略/chat/了请求中的子目录。如果我尝试手动打开 GET 请求中的 URL,/chat/它确实会给我回复!

http://www.example.com/chat/socket.io/?EIO=3&transport=polling&t=1439208895332-0
Run Code Online (Sandbox Code Playgroud)

这行得通!

但是我怎样才能让 socket.io 为它的请求实际使用正确的路径/url?

.htaccess url-rewriting subdirectory node.js socket.io

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

告诉 Apache 始终提供 index.php,无论 URL 中是什么

我用Javascript编写了一个前端 SPA。它使用 Ember 及其路由、虚假 URL、身份验证和 Ember 几乎隐式处理的所有惊人的东西。

后端是用 PHP 编写的,页面应由 Apache 服务器提供服务。

现在,如果请求被发送到根文件(又名索引)并且一切都从这里处理,则页面工作正常。但是,如果我在比方说重新加载页面localhost/login,Apache 会尝试找到一个名为 login 的文件,该文件自然不存在,因为所有内容都是在 Javascript 中处理的,并且我得到了广为人知的 404 -The requested URL /login was not found on this server.

我如何告诉 Apache 始终服务index.php,无论 URL 中是什么?

apache .htaccess mod-rewrite rewrite url-rewriting

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

使用 ASP.NET 查询字符串重写 URL

我想在 ASP.NET 中用查询字符串重写 URL。URL 如下所示:

http://localhost:51392/productdetails.aspx?id=zdpMPZVXkDtjw92Crx7eew==
Run Code Online (Sandbox Code Playgroud)

我想将 url 改写成这样:

http://localhost:51392/Details/zdpMPZVXkDtjw92Crx7eew==
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下方法重写 url(类似这样):

 <urlMappings>
      <add url="~/Shop"   mappedUrl="~/shop.aspx"/>
</urlMappings>
Run Code Online (Sandbox Code Playgroud)

但我不太确定如何使用查询字符串正确映射 URL?可用于实现此目的的最简单或其他方法是什么?

谢谢!

PS 伙计们,这就是我尝试访问重写 URL 的方式:

<a href='<%# "/productdetails.aspx?id=" + RL_DAL.RijndaelHelper.AES.Encrypt(Eval("ProductID").ToString(),"key_to_enrypt")  %>'><%# Eval("ProductName") %>
Run Code Online (Sandbox Code Playgroud)

c# asp.net .htaccess mod-rewrite url-rewriting

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

如何在 .htaccess 重定向然后重写

好吧,我是新手……第一次在这里提问。我有一个名为example.com的域, 我所有的网站都位于以下 URL:https : //example.com/example.com/inter/pf2/ 我想要的是以下内容:当用户转到https://example 时.comhttps://example.com/example.com/inter/pf2/显示所有内容,但 URL 一直说example.com 我尝试了以下操作:

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^$ /example.com/inter/pf2/ [L]
Run Code Online (Sandbox Code Playgroud)

但它不起作用

编辑:

This is the .htaccess:

RewriteEngine on

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php74” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php74 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

RewriteRule ^/?$ %{HTTP_HOST}/inter/pf2/ [L]
Run Code Online (Sandbox Code Playgroud)

apache .htaccess mod-rewrite friendly-url url-rewriting

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