Articles of url

可重写的URL重写(更改地址栏中的URL)

之前我问过这个问题的补充: Mod_rewrite不可见:适用于目标文件,而不是目录 现在我实际上想要重写,因为我已经切换了URLscheme,尽pipe我希望旧链接能够正常工作,但我希望用户能够看到新的URLscheme。 所以这个工作 RewriteRule ^oldscheme/(.*)/?$ newscheme/$1 但地址栏中的url仍然是http://example.com/oldscheme/foo 。 什么是正确的方法来做一个可见的重写,最好只是mod_rewrite而不是与位置redirect或某些东西kludgy?

mod_rewrite:如何search本地文件夹,子文件夹,然后redirect到index.php

我需要创build以下规则放置在我的.htaccess中 首先,我想在主文件夹中删除文件(/)(如果requestedfile存在) 其次,我想在子文件夹 – > /子文件夹中search这个文件 如果文件不存在于第1点和第2点中,就像redirect请求一样,执行/index.php 什么是最好的方式来做到这一点。 感谢帮助 :) ps第一点可以作为一个简单的解决scheme被淘汰。 所以如果用户inputurl /file.jpeg,服务器将会在/子文件夹中search这个文件,如果没有find这个文件,它会redirectrquest do index.php

如何将htaccess重写规则应用于包含换行符(%0A)的URL?

我遇到了包含以下格式的转义换行符的错误url: http://domain.com/%0Apath/to/file.txt 但是,即使我尝试了全球最重写可能… RewriteRule ^.*$ /path/to/file.txt [R=301,L] … Apache仍然抛出一个404: The requested URL / path/to/file.txt was not found on this server. (Note the space.) 我怎样才能优雅地拦截这些错误的URL并将它们发送到正确的目的地?

仅当GET参数存在时,.htaccess才会redirect

我有一个没有“漂亮”url的旧网站的客户端。 所以目前看起来像这样: http://www.domain.com/?w=42&a=5&b=3 参数值只是数字。 现在他们希望将旧网站移动到一个子域名和主(www)域名将回家一个新的网站(WP与SEO友好的url)。 现在我想要做的是将所有来自/?w=<num> (仅限于那些)的请求redirect到sub.domain.com/?w=<num> ,以便现有链接(主要来自Google)被redirect到子域名页面,而新的页面通过非常漂亮的URL来提供新的内容。 我试过这个: # This works, but redirects the entire www.domain.com # to sub.domain.com no mather what RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC] RewriteRule ^(.*)$ http://sub.domain.com/$1 [R=301,L] # But this DOESN'T work RewriteRule ^/?w(.*) http://sub.domain.com/?w$1 [R=301,L] # Also tried to redirect 'by hand', but DIDN'T work either Redirect 301 /?w=42 http://sub.domain.com/?w=42 […]

使用PHP和Apache路由URLpath

我正在尝试为我的网站创build一个不错的url结构。 我的路由器类只有在url =?something = value的风格时才能工作。 我如何得到它,所以它会像这样工作: /something/value 在我的.htaccess中我有: Options FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule !\.(js|txt|gif|jpg|png)$ index.php?$1 [L,QSA] 在我的路由器课上,我正在做: class init { function __construct() { $URL = substr($_SERVER['REQUEST_URI'], 19) ; $URLElements = explode('/', $URL) ; // Adjust if needed. $class = $URLElements[0] ; $method = $URLElements[1] ; if(($t = substr_count($URL, '/')) […]

Ember / Ember-Cli通过Apache提供服务404

当我尝试通过Apache服务我的烬宝应用时遇到了一个问题。 由于位置设置为“历史”而不是“散列”,Apache正在尝试加载不存在的文件的魔法余烬路由。 myapp.com/login会抛出一个404,因为没有login.html。 我已经做了一些淘气,惊奇的是没有太多的这使我相信没有多less人在Apache上部署应用程序的应用程序。 所以build议我编写Apache URL重写规则,但是我尝试的那个似乎没有工作。 Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteRule ^(.*)$ index.html [L] 和 Options FollowSymLinks <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule> 不要工作。 有没有人有什么想法,而不是回到“哈希”? 问候,无知的人。

PHP的所有GET参数与mod_rewrite

我正在devise我的应用程序。 我应该做下一件事。 所有的GET参数(?var = value)在mod_rewrite的帮助下都应该被转换成/ var / value。 我怎样才能做到这一点? 我只有1个.php文件(index.php),因为我正在使用FrontController模式。 你能帮我这个mod_rewrite规则? 对不起我的英语不好。 先谢谢你。

什么会导致PHPvariables被服务器重写?

我在公司获得了一台虚拟机来安装networking软件。 但是,我遇到了一个奇怪的问题,如果PHPvariables匹配特定模式,它将被服务器覆盖(重写)。 什么可以重写这样的PHPvariables? 以下是一个完整的独立脚本。 <?php $foo = 'b.domain.com'; echo $foo; // 'dev01.sandbox.b.domain.com' $bar = 'dev01.sandbox.domain.com'; echo $bar; // 'dev01.sandbox.sandbox.domain.com' $var = 'b.domainfoo.com'; echo $var; // 'b.domainfoo.com' (not overwritten because it didn't match whatever RegEx has been set) ?> 基本上任何包含一个子域名和匹配域名的variables都会被重写。 这不是mod_rewrite能够触及的东西,所以它必须是在parsing出PHP的服务器级别的东西,并重写一个string,如果它匹配正则expression式。

如何在执行Apache HttpPost时将空间编码为UrlEncodedFormEntity中的%20?

我碰到的web服务需要参数为URLEncodedFormEntity。 我无法根据Web服务的要求将空间更改为%20,而将空间转换为+。 我的代码是: HttpClient client = new DefaultHttpClient() HttpPost post = new HttpPost(url); UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters, HTTP.UTF_8); post.setEntity(entity); HttpResponse resp = client.execute(post); 其中参数是List<NameValuePair>参数。 我阅读了很多post,都表示在emcoding之后将空间改为%20。 在这里,我如何访问实体并手动更改它? 任何帮助将不胜感激。

htaccess规则转发/login/和/login到同一页面?

我有我的当前.htaccess文件中的以下规则redirect/videos/login/请求到/videos/login.php RewriteRule login/ /videos/login.php 这工作正常,如果我使用http://mysite.com/videos/login/访问login页面,但是当我试图访问使用http://mysite.com/videos/login (没有结束斜杠)相同的页面,然后它给了我“404页面未find”的错误。 请告诉我什么是.htaccess文件的正确规则,以便http://mysite.com/videos/login/或http://mysite.com/videos/login任何请求将指向相同的/ videos / login.php页面。 谢谢