微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

htaccess和重写

我只是在我的网页上做了一个子域名,主要是因为我想要一个特定的地址。

可以说我的网站是: http://website.com : http://website.com而我的子域是http://sub.website.com与其主文件夹在/home/username/public_html/sub/

当我input子域名地址突然改变为http//website.com/sub/

我怎样才能保持子域的地址?

在.htaccess中使用保持活动function

了解redirect和重写.htaccess之间的区别

使用基于查询string参数的HTTP身份validation保护URL

使用Apache在PHP上创build一个带有2个参数的友好URL

Apache .htaccess 404错误redirect

丹尼斯编辑:

我有一个规则,指示所有http://www.website.com到http://website.com

我用

RewriteEngine on Redirect to non-www RewriteCond %{HTTP_HOST} !^(website.com)?$ RewriteRule (.*) http://website.com/$1 [R=301,L]

即使我注释到这个地址仍然改变

http://website.com/sub/

最好的问候,亚历山大

如何编辑htaccessredirect所有的交通到安全www域

.htaccess不工作 – 只caching图像,而不是JS或CSS

PHP保护目录免受直接的URL访问

从url去除参数,使一个友好的Url htaccess

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

我会想象这样的事情会工作(未测试):

Options FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} !^website.com RewriteCond %{HTTP_HOST} ^([^.]+) RewriteRule ?cat_id=([0-9]+)&photo_id=([0-9]+) http://website.com/$1/$2/ RewriteRule ^/(.*)/(.*)/ /%1.PHP?cat_id=$1&photo_id=$2 [P]

注意:根据文档 ,选项FollowSymLinks需要是一个选项,您可以重写,以使重写工作。

一个RewriteCond将确保“webiste.com”主机不被重写(但像sub.website.com这样的域名)。 第二个匹配任何东西,直到主机名的第一个点。 这两个都必须成功,如果是这样,主机部分可以在%1中访问。

一个RewriteRule将args重写为PHP脚本到目录路径(在浏览器上的URL上发生的变化)。 下一个RewriteRule使用[P]标志将任何形式为/ xx / yy /的请求用传递给PHP脚本的参数代理到%1.PHP(我们记住的主机名)。

正如我所说,这没有经过测试,但希望它会让你“在正确的方向”。

编辑:从第一个重写规则中删除[R]

一个解决方案是为你的子域设置一个虚拟主机(这应该已经是这种情况了,如果不是,你会得到很多问题),并且使这个虚拟主机忽略主域的.htaccess指令。 你应该真的尝试保持你的子域配置独立于主域的域配置。

假设你的documentRoot在子域VH中是/home/username/public_html/sub/ ,当Apache服务于index.PHP或者index.html文件或者这个directoy中的任何东西时,它执行递归搜索/home/username/public_html/sub/ , /home/username/public_html/ , /home/username/ , /home/和/ 。 所以在你的主域(我认为它在/home/username/public_html/ )中定义的规则被应用。

您可以通过添加以下内容来告诉该子域VirtualHost忽略VH DocumentRoot之前的所有.htaccess文件

<Directory /> AllowOverride None </Directory> <Directory /home/username/public_html/sub/> AllowOverride All </Directory>

你甚至可以删除AllowOverride All ,删除所有的.htaccess文件,直接在<Directory /home/username/public_html/sub/>部分放入子域的.htaccess文件(如果有的话)而不需要Apache在文件系统上搜索配置部分(如此之快)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐