GVKun编程网logo

htaccess用mod_GeoIP重写规则(htaccess重写功能)

25

本文将为您提供关于htaccess用mod_GeoIP重写规则的详细介绍,我们还将为您解释htaccess重写功能的相关知识,同时,我们还将为您提供关于$_GET中具有转义的&符号的php–htacc

本文将为您提供关于htaccess用mod_GeoIP重写规则的详细介绍,我们还将为您解释htaccess重写功能的相关知识,同时,我们还将为您提供关于$_GET中具有转义的&符号的php – htaccess重写规则失败、.htaccess中的多个mod_rewrite规则、.htaccess平面链接的重写规则、.htaccess文件中的重写规则不适用于子域到主域的实用信息。

本文目录一览:

htaccess用mod_GeoIP重写规则(htaccess重写功能)

htaccess用mod_GeoIP重写规则(htaccess重写功能)

我有一个与mod_geoip有3个不同的商店电子商务网站的一些问题。 我们在root / store有我们的主要商店,但是在root / ukstore和root / austore也有商店。 主要的root / store包含/ skin,/ media和/ js目录,其中包含所有css,图像和javascript。 通过这个当前的设置,url完美地replace了基础,但是保留了URL的其余部分,所以如果来自英国的用户进入root / store / category / product /,他们会被redirect到root / ukstore / category / product / 。

2件事现在是问题。

每当客户访问安全页面(如结账或帐户)时,css和javascript的URL将被重写为root / ukstore / skin或root / ukstore / js。 有什么我错过了SSL的这些url?

其次,如果来自南非的用户访问商店,则他们被重写到英国商店,并且所有CSS,js,图像完全链接到商店/皮肤,但是如果来自英国的用户访问商店,则URL对于CSS,JS和图像正在尝试被重写到root / ukstore / skin

.htaccessredirectHTML到PHP和访问PHP文件没有。PHP扩展名

强制非WWW,但强制所有的wordpress和整个域的HTTPS

我怎样才能有一个有条件的.htaccess块?

重写条件以比较来自Request_URI的顶级目录

有没有机会在litespeed或apache中使用Nginx HttpAccessKeyModule?

这是root / store中我的htaccess文件中的代码。 每个商店也有他们自己的htaccess文件,但没有太多的内容。

<IfModule mod_geoip.c> GeoIPEnable On Options +FollowSymLinks RewriteEngine on #skip processing directories RewriteRule ^store/skin/ - [L,NC] RewriteRule ^store/media/ - [L,NC] RewriteRule ^store/js/ - [L,NC] RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(AQ|AU|MY|BV|BN|BN|MM|KH|CN|CX|CC|CK|GQ|FJ|PF|GU|GW|HM|HK|ID|KI|KR|KP|KR|LA|MO|MY|MH|FM|MM|NR|NC|PG|NZ|NU|NF|PG|CN|PH|PN|WS|SG|SB|KR|LK|BN|TW|TW|AU|TH|TL|TK|TO|TV|VU|VN|VN|WF)$ RewriteCond %{REQUEST_URI} ^/store(/.*)$ [NC] RewriteRule ^ /austore%1 [L,R] #UK Store Rewrites RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(AF|AX|AL|DZ|AD|AO|AM|AT|AZ|BH|BD|IS|BY|BE|BJ|BT|BA|BW|IO|BG|BF|BI|GB|CM|ES|CV|CF|TD|GB|KM|CG|CD|CG|CD|CI|HR|CY|CZ|CZ|BJ|DK|DJ|EG|ER|EE|ET|FO|FI|FR|TF|GA|GM|GE|DE|GH|GI|GD|GR|GL|GN|VA|HU|IS|IN|IR|IR|IQ|IE|IL|IT|CI|JO|KZ|KE|KW|KG|LV|LB|LS|LR|LY|LY|LI|LT|LU|MK|MG|MW|MV|ML|MT|MR|MU|MC|MC|MN|ME|MA|MZ|NA|NP|NL|NE|NG|IE|NO|OM|PK|PS|PS|CG|PL|PT|QA|CI|MK|ZA|CD|RE|RO|RU|RW|SH|SM|ST|SA|SN|RS|SC|SL|SK|SI|SO|SO|ZA|ES|SD|SJ|SZ|SE|CH|SY|SY|TJ|TZ|TN|TR|TM|AE|UG|UA|AE|GB|BF|UZ|VA|GB|EH|YE|ZM|ZW)$ RewriteCond %{REQUEST_URI} ^/store(/.*)$ [NC] RewriteRule ^ /ukstore%1 [L,R] </IfModule>

任何帮助将不胜感激!

PHP / Apache:使用.htaccess重写规则

Apache 2的mod_rewrite和PHP。 修改htaccess的$ _SERVER 值?

RewriteCond和RewriteRule在.htaccess中

在Apache中使用带有中文字符的mod_rewrite

Apache将追踪斜杠附加到我的重写规则

问题是你正在使用.htaccess上下文中的重写条件,所以条件应该是相对于你所在的目录,这就是为什么相对于在问题中提到的皮肤,js和媒体的重写条件没有比赛。 你应该用下面的东西替换它们:

RewriteRule ^(skin|media|js)/ - [L,NC]

或者,如mod_rewrite指南中所述( http://httpd.apache.org/docs/current/mod/mod_rewrite.html#RewriteRule )

如果您希望匹配每个目录(htaccess)RewriteRule中的完整URL路径,请使用RewriteCond中的%{REQUEST_URI}变量。

基于IP的重定向可能会失败,通常人们想要的是基于语言的重定向。 您可以阅读在用户浏览器中配置的语言,并将其重定向到您的网络所具有的语言。 就像那样:

RewriteCond %{HTTP:Accept-Language} ^(en|ja|de|zh|fr|it|nl|fi|sv|no) [NC] RewriteRule ^$ /en [R=303,L,QSA]

你想在你的方法是直接访问你的服务器中的静态文件,这可以实现设置这个条件,所以静态文件不会被重写

RewriteCond %{REQUEST_FILENAME} !-f

总结

以上是小编为你收集整理的htaccess用mod_GeoIP重写规则全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

$_GET中具有转义的&符号的php – htaccess重写规则失败

$_GET中具有转义的&符号的php – htaccess重写规则失败

我遇到一个get参数与htaccess重写规则相结合的问题.
下面是urlencode()的链接;重写规则我用来重定向到index.PHP,最后是index.PHP上的一个print_r($_ GET).
您可以看到,urlescaped&符号不是变量static的值的一部分,而是与我的期望相反,被解释为变量分隔符.为什么?

初始链接:

<a href="static/Game-Tech-%26-Arts-Lab">link</a>

的.htaccess:

RewriteRule ^static/(.*)$/index.PHP?static=$1 [L]

index.PHP文件:

Array ( [static] => Game-Tech- [-Arts-Lab] => )
啊好吧.有趣.似乎有一个特殊的解决方案来保持&符号特别逃脱.使用 [B] flag for Rewriterules.
RewriteRule ^static/(.*)$/index.PHP?static=$1 [L,B]

当内插$1占位符时,这应该是urlencode特殊字符.它只适用于Apache 2.2,但我相信.

找到几个参考文献:

> http://www.dracos.co.uk/code/apache-rewrite-problem/
> mod_rewrite with question marks and ampersands (with PHP)
> http://www.mediawiki.org/wiki/Manual:Short_URL/Ampersand_solution

.htaccess中的多个mod_rewrite规则

.htaccess中的多个mod_rewrite规则

我有几个mod_rewrite规则难以在我的.htaccess文件中一起工作。 在整个网站我想放弃“www”。 来自所有url 我在文档根目录下使用以下内容:

Options +FollowSymLinks RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301]

然后,在一个文件夹“/帮助”我想做2重写:

将domain.com/help/1更改 domain.com/index.PHP?question=1

将domain.com/help/category/example更改 domain.com/index.PHP?category=example

所以在domain.com/help我有以下几点:

Options +FollowSymLinks RewriteRule ^([0-9]+)/?$ index.PHP?question=$1 [NC,L] RewriteRule ^category/([^/.]+)/?$ index.PHP?category=$1 [NC,L]

上述2个.htaccess文件适用于:

www.domain.com domain.com

domain.com/help/1 domain.com/index.PHP?question=1

domain.com/help/category/example to domain.com/index.PHP?category=example

.htaccess重写规则,以防止caching的CSS,JS,图像文件。

使用Apache的Flowplayer安全stream式传输

Htaccess用FastCGI重写

请求实体太大的PHP

在根目录下安装CodeIgniter,在子目录下不工作

但是,这不起作用,当我需要结合2重写,都放弃“www”。 并将子文件夹重写为一个urlvariables。 例如:

www.domain.com/help/1 domain.com/index.PHP?question=1

给出了500错误。

我哪里做错了? 而且,最好是使用2 .htaccess文件,还是应该将2个文件合并到文档根目录下的.htaccess文件中?

使用htaccessredirect一个基于它的第一个字符的URL

如何根据查询stringredirecturl?

RewriteCond和RewriteRule在.htaccess中

.htaccess RewriteRule添加到URL的驱动器path

.HTACCESS文件导致内部服务器错误

它看起来像是发生了什么是在/ help文件夹中.htaccess文件中的规则正在申请,因为你要求在该文件夹中的东西,所以父文件夹的规则将不会得到应用。 如果您在/ help文件夹的.htaccess中添加RewriteOptions Inherit ,则可以传递父规则:

Options +FollowSymLinks RewriteOptions Inherit RewriteRule ^([0-9]+)/?$ index.PHP?question=$1 [NC,L]

但是,继承的规则可能不会按照您期望的顺序应用。 例如,如果您请求http://www.domain.com/help/1/,您最终将被重定向到http://domain.com/index.PHP?question=1 ,这可能不是您想要的如果您试图通过隐藏查询字符串来使搜索引擎优化友好的网址。

最好的方法是将/ help文件夹中的内容移动到文档根目录中,以便控制规则的应用顺序:

Options +FollowSymLinks RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301] RewriteRule ^help/([0-9]+)/?$ /index.PHP?question=$1 [NC,L] RewriteRule ^help/category/([^/.]+)/?$ /index.PHP?category=$1 [NC,L]

这确保首先发生到非www域的重定向,然后应用/ help规则。 所以当你去http://www.domain.com/help/1/&#x65F6; ,你首先被重定向到http://domain.com/help/1/,然后帮助规则被应用,并且URI被重写&#x5230;/index.PHP?question=1 。

.htaccess平面链接的重写规则

.htaccess平面链接的重写规则

我是使用RewriteRule的新手,所以我可能会丢失一些明显的东西,但是我有一个PHP脚本,它可以像下面这样使用urlvariables:

{baseurl}properties.PHP?prop=Property-Name

我想创buildrewriteRules,以便任何在这个脚本名称/variables组合中input的人将其URL改写为:

{baseurl}/properties/Property-Name

以及确保任何谁在types的平面链接url,实际上调用正确的variables名称和值的脚本。

我一直在指这个链接 ,我发现相关的线程:

如何在使用Apache重写时隐藏URL更改?

Codeigniter删除Nginx上的index.PHP

Apache mod_rewrite:只有在不在localhost的情况下强制www

configurationhtaccess以绕过直接链接到CSS和Javascript文件

将.htaccess转换为web.config

Mod_rewrite平面链接

Mod_rewrite麻烦:想从?=直接链接到一个平面链接,似乎没有任何工作

但是,我显然做错了,因为我无法得到这个URL以我想要的方式工作。 我目前使用下面的代码,除了重写URL以包含www,以及将index.PHP的请求redirect到站点根目录之外,它似乎什么都不做

RewriteEngine ON RewriteCond %{HTTP_HOST} ^baseurl.com$ [NC] RewriteRule ^(.*)$ http://www.baseurl.com/$1 [R=301,L] RewriteRule ^index.PHP / [R=301,L] RewriteRule ^properties/([0-9A-Za-z]+)/$ /properties.PHP?prop=$1

这个问题显然是最后一个RewriteRule,假设没有任何影响。 再次,我可能做一些荒谬的事情。 有人能解释我在做什么错吗?

谢谢你的帮助。

CORS问题请求的资源上没有“Access-Control-Allow-Origin”标题

.htaccess文件扩展名卸妆代码打破网站forms

如何在.htaccess中设置代理

如何将htaccess的子域redirect写入https

CodeIgniter的htaccess子文件夹问题

匆匆一瞥,似乎你忘了在正则表达式中包含短划线,并且包含了尾部的斜线。 用这个代替:

RewriteRule ^properties/([0-9A-Za-z-]+)$ /properties.PHP?prop=$1

如果你看看你的规则^properties/([0-9A-Za-z]+)/$你会发现它需要以正斜杠结束。 你可以删除它,或者使其成为可选项,例如^properties/([0-9A-Za-z]+)/?$ 。

总结

以上是小编为你收集整理的.htaccess平面链接的重写规则全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

.htaccess文件中的重写规则不适用于子域到主域

.htaccess文件中的重写规则不适用于子域到主域

RewriteCond %{HTTP_HOST} ^[citystate]\.example\.com
RewriteRule ^(.*)$ https://example\.com\/$1 [L]

此规则必须放在.htaccess文件的顶部,以避免与其他指令冲突。

但是,有两个潜在问题:

  • 正则表达式摘录[citystate]仅与字符类中的单个字符匹配。 []表示字符类。因此,这与citysta或{{1} }-仅一个字符。您需要按原样指定单词,没有方括号。但是,如果您有很多“城市”,那么这需要每个城市都有一条规则,您可以使正则表达式更通用,以匹配任何城市。例如。 e(即[a-z]+a范围内的1个或多个小写字母。)

  • 您缺少z上的Rredirect)标志。例如。 RewriteRule[R,L]。但是,由于您在目标URL上指定了方案+主机名,因此它将隐式触发302(临时)重定向-可以。但是,为了解决Bing的问题,它必须是301(永久)重定向。但是,请先使用302(临时)重定向进行测试,以避免潜在的缓存问题。

次要问题:

  • [R=301,L]-默认情况下,正则表达式是贪婪的,因此^(.*)$^(字符串的开始和结尾)锚是多余的。

  • $ 替换中不需要反斜杠转义文字点和斜线,因为这是一个“普通”字符串,而不是正则表达式。

请尝试以下操作:

RewriteRule

如果RewriteCond %{HTTP_HOST} ^[a-z]+\.example\.com RewriteRule (.*) https://example.com/$1 [R=301,L] 后向引用未正确捕获URL路径,则可以改用$1服务器变量。例如:

REQUEST_URI

请注意,RewriteCond %{HTTP_HOST} ^[a-z]+\.example\.com RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L] 服务器变量包含一个斜杠前缀,因此在 substitution 字符串中将其省略。

关于htaccess用mod_GeoIP重写规则htaccess重写功能的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于$_GET中具有转义的&符号的php – htaccess重写规则失败、.htaccess中的多个mod_rewrite规则、.htaccess平面链接的重写规则、.htaccess文件中的重写规则不适用于子域到主域等相关知识的信息别忘了在本站进行查找喔。

本文标签: