应用程序使用http://www.mydomain.com/item/3193.html这样的URL来select并显示来自mysql数据库的正确logging。 只要提及,应用程序是用PHP编写的,托pipe在Apache Web服务器上。 其实这应该是http://www.mydomain.com/item.html/3193.html ,但在.htaccess我有RewriteRule,可以帮助我把它像http://www.mydomain.com/item/3193.html 但在新的服务器,RewriteRule,从某种原因不起作用。 正如我所说,它是在.htaccess中定义的: RewriteEngine On RewriteBase / #some conditions here RewriteRule ^item/(.*) item.html/$1 #more conditions here 所以,它在旧的服务器上工作。 它(看起来像?),它不能在新的服务器上工作… 所以,首先,如果在服务器上允许重写规则,我将检查主机提供商。 另外,如果他们(我猜他们是),我可以改变这个RewriteRule的语法,以获得我需要的能力? 非常感谢你提前!
我在/ start /上有一个服务器托pipe的网站。 在Apache conf文件中,我使用下面的简单规则将所有“/”的请求redirect到“/ start /”: 重写引擎 RewriteRule ^ /?$ / start / [R] 当我访问“ http://foo.bar/ ”时,浏览器被成功redirect到“ http://foo.bar/start/ ”。 但是,当我访问“ https://foo.bar/ ”时,浏览器不会redirect到/ start /,而是显示默认的Apache欢迎页面。 我需要做什么以特殊方式处理https请求? 注意:该网站可以在https后面成功访问。 例如:如果我直接访问“ https://foo.bar/start/ ”,我会看到预期的页面。 完整的conf文件: LoadModule proxy_module /usr/lib/httpd/modules/mod_proxy.so 重写引擎 RewriteRule ^ /?$ / start / [R] ProxyRequestclosures LogLevel警告 代理服务器http://127.0.0.1:8083/ 命令否认,允许 全部允许 /代理 位置/开始/ ProxyPass http://127.0.0.1:8083/ ProxyPassReverse http://127.0.0.1:8083/ /位置
我有我的服务器上的子子域(Debian上的Apache 2.2)的问题,我在/ etc / apache2 / sites-available中有这行: RewriteRule ^(([^。/] +。)?site.com)/(。*)/www/site.com/www/root/$3 [L] 这行应该意味着每个子域或子子域(等等)必须redirect到上面的目录,在这个directroy我有一个.htaccess文件,它获取请求。 Everithing工作正常,当我键入site.com和subdomain.site.com,但问题来了,当我尝试使用像sub.subdomain.site.com(甚至www.subdomain.site.com)的子子域,它给我400错误的请求错误消息。 我试图redirectwww.subdomain.site.com .htaccess文件,但没有结果(它似乎甚至没有检查),我认为错误是在上面的重写规则,并没有正确的redirect请求到目录。 有人可以提出一个问题是什么? 编辑:这是整个虚拟主机configuration网站可用: NameVirtualHost 1.2.3.4:80 NameVirtualHost 1.2.3.4:443 <VirtualHost 1.2.3.4:80> ServerName mysite.com ServerAdmin [email protected] DocumentRoot /www <Directory /> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log RewriteEngine On RewriteMap lowercase int:tolower RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C] RewriteRule ^(([^\.\/]+\.)?othersite1\.com)/(.*) /www/othersite1.com/www/root/$3 […]
我在这里失去了主意。 我有一个.htaccess的网站,内容如下: Options FollowSymLinks <ifmodule mod_rewrite.c> RewriteEngine on rewritecond %{http_host} ^XXX.com.ar [nc] rewriterule ^(.*)$ http://www.XXX.com.ar/$1 [r=301,nc] </ifmodule> 如果用户没有写入,那么只需在URL之前添加“www”即可。 做了一些开发之后,我为我的站点做了一个简单的“路由器”框架。 然后,每个请求都必须去index.php,并“调度”它。 所以,我的.htaccess就这样结束了: Options FollowSymLinks <ifmodule mod_rewrite.c> RewriteEngine on rewritecond %{http_host} ^XXX.com.ar [nc] rewriterule ^(.*)$ http://www.XXX.com.ar/$1 [r=301,nc] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ ../index.php?url=$1 [NC,L] </ifmodule> 问题是,现在,当我去到:XXX.com.ar(没有www),我有一个301 – 永久移动 301 – 永久移动> 301 – 永久移动301 – 永久移动 信息。 […]
我有以下modrewrite规则: RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^blog/([^/]*)/([^/]*)/$ /blog.php?date=$1&title=$2 [L] 这是非常简单的。 我的问题是,如果没有variables列出,我如何得到这个重写指向blog.php ? 如果没有variables存在,blog.php将写入文档列表,如果存在variables,也创build单独列表。 编辑: blog.php工作正常,没有国防部重写。 如果我去http://host/blog.php它列出我所有的文章。 如果我去http://host/blog/2010-10-05/blog-title/它会显示我的单个条目。 同样,如果我去http://host/blog.php?date=2010-10-05&title=blog-title我得到一个单一的条目。 不过,我想要http://host/blog/列出我的所有条目。 我想问题是:这是否需要第二个重写规则? 如果是这样的话,我怎样才能让这两个人打得好呢?
我正在尝试将subdomain.example.com指向subdomain.example.com上的资源 这是一个WordPress的博客。 我试图给一个静态页面自己的子域名。 重点是基本上展示现有的资源,而不会泄露的URL …到目前为止,我试过… RewriteCond %{REQUEST_URI} subdomain.example.com [NC] RewriteRule ^(.*)$ http://subdomain2.example.com/?page_id=1 [P] 但无济于事。 目前我有subdomain.example.com设置为自己的虚拟服务器与资源RedirectPermanent。 任何人都有如何实现这一目标的见解? 我想我越来越近了,但我对此很新。 谢谢。
我有一个基于IIS7.5(Server 2008 R2)的Web服务,我想尽可能独立于当前的实现技术。 我正在使用URL重写模块( http://learn.iis.net/page.aspx/734/url-rewrite-module/ )来移除URL的.asmx部分,并且对于HTTP请求部分。 但是,当我访问WSDL文件时,仍然会看到.asmx。 我想知道是否有人这样做,如果是的话,可以提供什么build议。 这似乎并不是一个难以解决的问题。 但是我已经用“自定义标签”尝试了一些东西,似乎无法让它工作来挽救我的生命。
我把conisder移到了Nginx上,但我想问你是否可以重写Url到这个模式中,如果你能帮我一下: 像example.com/username这样的url到profile.php?u = username 。 但是,那么我会在访问其他页面如home.php时遇到问题 一个URL像example.com/questions/102039/that-question into questions.php?quid = 102039 非常感谢你!
我想把m.example.com和这些请求用nginx指向example.com/mobile/。 (相同的nginx服务器将服务于example.com) 有人可以帮我用我需要的configuration吗? 如果需要,我可以发布我的nginx.conf,但我认为它是这样的: location / {rewrite /([^ /] +)/ mobile / $ 1 break; proxy_pass http://127.0.0.1 ; } 我在正确的场地吗?
在我所有的Apache服务器上,我使用热链接保护,因为我讨厌有人可以使用我的服务器带宽将我的图像/闪存粘在他们的站点上。 为了使热链接保护工作,在我的Apache .htaccess我只是使用这个: #Hotlink protection (only for www.domain.it cause http://domain.it is being redirected) RewriteCond %{HTTP_REFERER} !^http://www.domain.it/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.domain.it$ [NC] RewriteRule .*\.(wav|swf|jpg|jpeg|gif|png|bmp|js)$ – [F,NC] 这很好,但我最近发现,当我要求http://www.domain.com/somepage.htm/ ( 与最后的斜杠 )的热链接保护似乎被触发和服务器停止页面下载.(wav|swf|jpg|jpeg|gif|png|bmp|js)文件 你知道我怎么能解决这个.htaccess? 在今天之前,我甚至认为如果我inputURL作为URL http://www.domain.com/somepage.htm/ (最后一个斜杠),服务器应该返回一个错误。 但我看到这是正常的,因为如果你寻找http://www.php.net/docs.php它返回http://www.php.net/docs.php/ (最后的斜线)相同的页面。 为什么呢,你能解释一下吗? 谢谢