Apache的URL重写 - 隐藏/的public_html /在URL路径

我想键入以下URL到我的浏览器:

localhost/mydomain/about.php

并阿帕奇重定向到实际的文件位置:

localhost/mydomain/public_html/about.php

我写了下面的.htaccess文件:

RewriteEngine On RewriteRule ^(.+)$ public_html/$1

我与Apache人生地不熟,我的reg表达式中的理解是非常基本的 - 但我认为这将意味着“/送任何路径的域名和棍子的public_html后,在它的前面。” 结果,但是,是一个500内部服务器错误。

我在想什么?

非常感谢! -David

--------------解决方案-------------

这是因为只指定^(.+)$规则将保持改写一个无限循环。

about.php>的public_html / about.php>的public_html /的public_html / about.php> ...

速战速决将RewriteRule ^([^/]*)$ public/$1 。 或者你可能有兴趣在LAST的重写规则修改/标志:

RewriteRule ^public/(.*)$ public/$1 [L]
RewriteRule ^(.*)$ public/$1

万一你想知道调试rewrite_module,可以设置方式LogLevel DEBUG在httpd.conf,那么你可以检查Apache的错误日志。

分类:阿帕奇 时间:2012-01-01 人气:0
本文关键词: 阿帕奇,URL重写
分享到:

相关文章

  • 很难阿帕奇URL重写 2013-10-24

    我想改写这个网址: myhost.com/elecresult-Cantonales-2011/039/03915.html 这一个: myhost.com/elecresult-Cantonales-2011/(path)/039%2F03915.html 你能不能帮我重写规则? 是否有可能来urlencode? --------------解决方案------------- 使用您的重写规则正则表达式匹配你已经奠定了道路. 如果你想匹配一个通用路径,即/第一/二/三,你可以使用这个正则表达式

  • 正则表达式和URL重写 2012-12-26

    我有一个URL http://abc.com/v2/,现在我想,如果有人把URL像这样http://abc.com/v2/abc或http://abc.com/v2/xyz应重定向到http://abc.com/ 一般我想,什么后放/ V2 /必须重定向到http://abc.com/ 也请告诉我如何了解更多关于URL重写(Apache的环境)和正则表达式 --------------解决方案------------- 这里是你可以申请好重写规则: RewriteRule ^v2/(.*) /$

  • URL重写阿帕奇查找文件 2014-06-02

    我有一个URL重写,看起来像这样: RewriteEngine On RewriteRule ^cancun/tours/$ location-tours-listings.php?locationName=Cancun RewriteRule ^cancun/tours$ location-tours-listings.php?locationName=Cancun 问题是,现在的页面无法找到相对URL的,如CSS,图像等... 有没有办法用在.htaccess文件中的命令解决这个问题? 所以

  • URL重写和GET形式阿帕奇/ PHP 2012-04-25

    我启用了URL重写我的PHP站点与Apache(http://example.com/index.php?param=12变得http://example.com/index/param/12). 我有几个形式的方法GET而不是POST. subitting形式后,将所得的URL不重写. 难道不可能性不断改写网址提交一个GET表格后? 更新:我发现这篇文章的话题http://matthewjamestaylor.com/blog/how-to-post-forms-to-clean-rewrit

  • URL重写和高速缓存控制htaccess的阿帕奇 2012-12-27

    我有一个网页的index.php这取决于所提供的参数生成不同的输出. 使用mod_rewrite我有这些文件的这个a.htm,b.htm和c.htm. 现在,我想这些特殊的4个文件(或实际的URL)进行本地缓存,对于我已经尝试 <FilesMatch "(a\.htm|b\.htm|c\.htm)$"> FileETag None Header set Cache-Control "max-age=7200, public, must-revalidate&quo

  • 如何找出编程如果Web服务器实例支持URL重写 2012-04-22

    如果有办法找出如果Web服务器实例都有URL重写启用我想问的是. 我需要这一点是为了能够实例化正确类型的URL处理程序. 从理论上讲,你事先知道,如果你有它启用与否,可以使用的东西进行配置. 不过,我想,要能在运行时自动检测此设置. URL重写规则是很简单的东西,如: ^/(.*)$ => /bootstrap.php 这保证了相关串存在于REQUEST_URI,但不会污染_GET数组. 在哪里做我的研究,我花了这么远: 阿帕奇. 在我看来阿帕奇有一个非常古怪的方法,因为它集REDIRECT_S

  • 东西重写PHP的规则时,URL重写模块被禁用 2012-06-14

    我运行以下网址: http://localsite/index.php/foo/bar 的index.php被执行,并输出变量: $_SERVER[SCRIPT_FILENAME] = E:/path/to/file/index.php mod_rewrite的Apache中被禁用. 谁重写规则? 或者,会发生什么? 如何的index.php被发现? 为什么apache的决定来运行它? 我的配置:Windows Vista中,阿帕奇的Apache / 2.2.14(Win32的)PHP / 5.

  • URL重写在asp.net 2012-07-06

    我有一个网站,将导航到登录后,我需要通过删除URL的aspx页面重新写的网址,并添加从它导航to.Also域名我想重写URL不同域中HTTPS页面将从一个HTTP网页重定向. 对于如: - 从它被重定向到www.abc.com.so的网址应显示为www.abc.com/xyz可有人能帮助我在这个网站www.xyz.com? --------------解决方案------------- 这在ASP.NET MVC常用做,这就是所谓的ASP.NET路由. 这是在ASP.NET的WebForms a

  • $ _GET和URL重写PHP的 2012-08-29

    如何URL重写影响$ _GET参数为PHP? 说,例如,我有一个像http://example.com/index.php?p=contact一个URL,我用$ _GET ['P']告诉index.php来服务联系页面. 如果我使用一个重写规则的URL转换为http://example.com/contact,将$ _ GET ['P']仍按预期方式工作? 如果是这样,你能不能详细阐述为什么它的工作原理. 如果不是,有什么策略可以用来解决问题,这样的页面将与和没有改写两者兼而有之? ------

  • 没有重定向在ASP.NET URL重写 2013-01-21

    我们有一个CMS系统,创造了许多参数长的URL. 我们想改变他们的显示方式,使他们更友好. 既然我们已经建立了这个CMS在许多网站,这是一个有点难以改写CMS创建友好的URL(虽然这是我们正在考虑的方法,如果没办法找到),我们我们正在寻找一种方法,当用户点击一个长的URL,URL将变成一个友好之一-浏览器- 不使用的Response.Redirect(). 在WordPress的这种方法存在(我不知道它是否在代码或阿帕奇做),我想知道它是否能在ASP.NET 2.0中做了. 另一个要考虑的是,网

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.593 (s). 10 q(s)