Articles of 重写mod重写

奇怪的重写(Apache mod_rewrite)

我对我的重写规则的结果非常困惑。 我使用WAMP托pipe在本地机器上。 RewriteEngine on RewriteBase /niklasrosenstein/ RewriteCond %{REQUEST_URI} !res/(.+)$ RewriteCond %{REQUEST_URI} !index.php$ RewriteRule ^(.*)$ index.php?uri=$1 [QSA] 即将 HTTP://本地主机/ niklasrosenstein / RES 扩展到 HTTP://本地主机/ niklasrosenstein / RES / URI = RES 在浏览器的地址栏中。 我已经testing了Firefox 14,Opera 11.62和Internet Explorer 8。 在URL的末尾添加一个斜杠,这将是 HTTP://本地主机/ niklasrosenstein / RES / 没问题。 有谁知道为什么在浏览器的地址栏中调整url? 我想使用mod_rewrite为了摆脱模糊URL格式,但这个问题实际上打破了下来..

我应该放弃在Windows下部署Rails吗?

我运行由另一个团队开发的rails应用程序的实例。 回到开始时,部署Rails应用程序的常见方式是在Apache后面使用Mongrel,这就是该团队用于自己实例的configuration。 由于我是一个Windows用户,并且由于Apache和Mongrel都可以很容易地被设置为Windows服务,所以我使用了一个(虚拟)Windows机器,并在那里设置了所有的东西。 我想,因为比在Rails土地改变了事情。 杂种已经停滞不前(至less这是我对普遍看法的印象)。 开发我的应用程序的团队已经转而使用mod_rails。 我不关心自己,因为我的Mongrel设置继续工作,直到我最后一次同步他们的代码。 显然,在名称冲突的地方,他们创build了一个“服务”模型,它与mongrel_service中的模块名称冲突(请参阅http://aspn.activestate.com/ASPN/Mail/Message/ruby-rails/3497181 )。 当我让他们重新命名模型时,他们说他们不支持Mongrel。 Mongrel仍然是Rails应用程序的有效选项吗? 如果没有,在Windows下部署是否有效? 在Windows下,mod_rails和thin都不能运行…或者我应该咬紧牙关,放弃Windows部署,并将我的虚拟机重build为Linux机器? 澄清:运行的虚拟机不在我的开发桌面上。 这是我们的IT部门托pipe的虚拟机,用于生产。 我有pipe理员。 如果必须的话,我可以让IT部门build立一个Linux VM。

Apache代理 – HTTP到HTTPS

我使用通过HTTP与服务器通信的应用程序,但在我的情况下,此服务器在HTTPS上运行,并且还有基本身份validation。 没有办法改变这个设置。 我的想法是configurationApache服务器上的代理,然后网站将访问http:// localhost /和apache将像中介。 我不想redirect,而是像映射。 我尝试像下面的configuration,但没有奏效。 <VirtualHost *:80> ServerName foo.com SSLProxyEngine On ProxyPass / https://login:passwd@secured.web.com ProxyPassReverse / https://login:passwd@secured.web.com </VirtualHost> 我会为每个想法感到高兴。

我似乎无法开始使用Zend Framework 2骨架应用程序

我正在通过Zend主页上的入门框架应用教程: http://framework.zend.com/manual/2.2/en/user-guide/skeleton-application.html 我已经能够进入浏览器地址栏“zf2-tutorial.localhost /”,我的Zend欢迎页面应该出现。 它没有,Apache Web文件夹(/ var / www)目录出现。 如果我input“ http://zf2-tutorial.localhost/1234 ”来testing是否出现Zend 404页面,则不会。 出现默认的apache Not Found页面。 我通过在terminal中运行创build我的应用程序: php composer.phar create-project –repository-url="http://packages.zendframework.com" zendframework/skeleton-application:dev-master /var/www/zf2-tutorial ..这创build了所需文件夹中的所有文件(/ var / www / zf2-tutorial)。 然后,我使用以下命令创build了文件/etc/apache2/sites-enabled/zf2-tutorial : <VirtualHost *:80> ServerName zf2-tutorial.localhost DocumentRoot /var/www/zf2-tutorial/public SetEnv APPLICATION_ENV "development" <Directory /var/www/zf2-tutorial/public> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 我更新了我的/etc/hosts文件: 127.0.0.1 […]

Apache:mod_rewrite:Spcaes&特殊字符在URL不起作用

我正在使用APACHE:mod_rewrite来定义一组重写URLS的规则 我想这个链接显示为 /myDIR/walls.php?f=All&of=0&s=Newest > All.html 所以我使用以下规则 来自(.htaccess)的文本 RewriteEngine on RewriteBase /myDIR/ RewriteRule ^All\.html$ papers.php?f=All&of=0&s=Newest 现在这些variables被传递为f=All of=0 s=Newest这些被用于查询,显而易见,并且这些variables之一,即f有时具有空格和特殊字符值,我不能避免因为数据库已经就地,我正在重写的url…. 现在,当我尝试定义这样的规则 我想这个链接显示为 /myDIR/walls.php?f=Characters & Supers&of=0&s=Newest – > Characters & Supers.html 这是错误的,我知道,因为不应该有任何空格..所以要正确我定义这样的规则 RewriteRule ^Characters%20%26%20Supers\.html$ papers.php?f=Characters%20%26%20Supers&of=0&s=Newest 它让我定义的规则,但是当我点击我的链接,我得到这个404找不到错误“请求的URL / wallz /字符&Supers.html在此服务器上找不到”。 问题:该怎么办? 我的猜测是我不应该在.htaccess中进行HTML URL编码

在mod-rewrite中传递和URL作为参数

我试图在mod-rewrite中传递一个URL作为参数。 我猜在我的正则expression式中有一个问题。 这是我的.htaccess: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule **^go/((http:\/\/)+[A-Za-z0-9\-]+[\.A-Za-z])/?$** feedmini.php?url=$1 [L] </IfModule> 我想要传递的URL看起来像http://www.aaaa.com/aaa/?q=v,但是当我试图达到它去/ http://www.aaaa.com/aaa/?q= v我收到一个404错误页面。 我也尝试过**^go/([A-Za-z0-9\-\/:]+[\.A-Za-z]+)/?$**但是我通过的URL得到像这样:http:/www.aaaa.com/aaa/(在'http:'之后观察singel'/'); 有任何想法吗? 提前致谢/ Ale

需要htaccessredirect

我想使用htaccessredirect到下面的URL http://abc.domain.com到http://www.domain.com/pos http://xyz.domain.com/weighing-scales.php到http://www.domain.com/weighing 我尝试在.htaccess文件中使用下面的指令,但它不工作。 请帮助 Redirect 301 http://abc.domain.com http://www.domain.com/pos Redirect 301 http://xyz.domain.com/weighing-scales.php http://www.domain.com/weighing-scales

URL问题 – 传递编码的字符,如%2f和%2b

我使用.htaccess文件通过URL传递encryption值,如下所示:URL: http://www.website.com/folder1/f1/tdT9Eu%2b8kmAe1U%2ft12RS htaccess文件: RewriteRule ^f1/(.+)$ index.php?id=$1 [NE] 问题是服务器响应在此服务器上找不到请求的URL。 但是当我用/和%2b b s+replace%2f ,它完美地工作,我可以看到页面的内容。 当我使用URL而不重写时,它也可以完美工作,如下所示: http://www.website.com/folder1/index.php?id=tdT9Eu%2b8kmAe1U%2ft12RS 你可以帮忙,我怎样才能修改我的htaccess使这项工作? 因为我需要使用url重写来获取内容,如上所示

没有wwwredirecthtaccess的问题

我一直在试图pipe理从www.domain.com到domain.com的redirect,但似乎没有任何效果。 我总是得到一个redirect循环 – 我尝试了各种在Google或Google上find的东西。 所以这里是我的.htaccess,也许有人可以帮我弄清楚我能做些什么来正确redirect,或者如果在这里有什么问题。 RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] # Redirect all to .php # Example: example.com/hello -> example.com/hello.php RewriteRule ^(.*)$ $1.php [L,R=301] # show example.com/index.php always as example.com/ RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://example.com/ [R=301,L] 非常感谢! 我已经花了这么多的时间来解决这个问题了。

.htaccess使文件夹作为根?

有没有办法使.htaccess告诉一个文件夹作为最低级别? 我的意思是说,你有这样一个文件夹: /关于/ /联系/ / CSS / /图片/ 的.htaccess 的index.php header.php文件 如果他们在/contact/index.php ,那么如果我有<a href="../index.php">Home</a>进入主页,那么它工作正常,但如果他们实际的主页面,它会尝试去一个较低的目录。 原因是因为我试图在子文件夹中testing网站。