.htaccess重写子目录到目录

.htaccess重写子目录到目录,第1张

概述.htaccess重写目录到目录

是否有可能使用.htaccess重写一个子域到一个目录?

例:

http://sub.domain.com/

显示的内容

http://domain.com/subdomains/sub/

如何重新编写锚定CMS的指令

.htaccess资源解释为脚本,但是以MIMEtypestext / HTML传输

在windows上使用htaccess文件 – 实际上保存文件为.htaccess?

拒绝访问.htaccess中的一个特定文件夹

使用mod_rewrite,如何强制path和查询string全部小写?

摆脱CodeIgniterurl中的Index.PHP

重写Apacheredirect规则

htaccess重写规则以无限循环结束

.htaccess允许访问一个文件和一个文件夹

VirtualdocumentRoot处理不存在的文件夹

尝试把这个在你的.htaccess文件中:

RewriteEngine on RewriteCond %{http_HOST} ^sub.domain.com RewriteRule ^(.*)$ http://domain.com/subdomains/sub/$1 [L,NC,QSA]

对于一个更一般的规则(与任何子域,而不是sub )使用这个替换最后两行:

RewriteEngine on RewriteCond %{http_HOST} ^(.*).domain.com RewriteRule ^(.*)$ http://domain.com/subdomains/%1/$1 [L,QSA]

我不是一个mod_rewrite的专家,我经常与它斗争,但我已经在我的一个网站上做了这个,它可能需要其他标志等等,这取决于你的情况。 我正在使用这个:

RewriteEngine on RewriteCond %{http_HOST} subdomain.example.com$ RewriteCond %{REQUEST_URI} !^/subdomains/subdomain RewriteRule ^(.*)$ /subdomains/subdomain/$1 [L]

其他任何网站的其他重写规则必须事后,以防止他们干扰你的子域重写。

您可以在htaccess中使用以下规则将子域重写到子文件夹:

RewriteEngine On #If the host is "sub.domain.com" RewriteCond %{http_HOST} ^sub.domain.com$ [NC] #Then rewrite any request to /folder RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]

逐行解释:

RewriteEngine on

上面的行告诉服务器打开引擎重写URL。

RewriteCond %{http_HOST} ^sub.domain.com$ [NC]

这条线是RewriteRule的条件,我们使用正则表达式模式匹配http主机。 条件说,如果主机是sub.domain.com然后执行规则。

RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]

该规则与http://sub.domain.com/foo相匹配,并在内部将其重定向到http://sub.domain.com/folder/foo 。

将sub.domain.com替换为您的子域名和文件夹的名称,以指定您的子域名。

我遇到了同样的问题,并在http://www.webmasterworld.com/apache/3163397.htm中找到了详细的解释

我的解决方案(子域内容应该在一个名为sd_subdomain的文件夹中:

Options +FollowSymlinks -multiviews RewriteEngine On RewriteBase / RewriteCond %{http_HOST} !^www. RewriteCond %{http_HOST} subdomain.domain.com RewriteCond $1 !^sd_ RewriteRule (.*) /sd_subdomain/$1 [L]

重定向到相同的文件夹子域:.httaccess

RewriteCond %{http_HOST} !^www. RewriteCond %{http_HOST} ^([^.]+).domain.com$ [NC] RewriteRule ^(.*)$ http://domain.com/subdomains/%1

重定向子域名目录:

RewriteCond %{http_HOST} ^([^.]+).(archive.example.com)$ [NC] RewriteRule ^ http://%2/%1%{REQUEST_URI} [L,R=301]

尝试将这个.htaccess文件放在子域文件夹上:

RewriteEngine On RewriteRule ^(.*)?$ ./subdomains/sub/$1

当您只想显示http://sub.domain.com/时,它会重定向到http://domain.com/subdomains/sub/

对于任何子域请求,请使用以下命令:

RewriteEngine on RewriteCond %{http_HOST} !^www.band.s.co RewriteCond %{http_HOST} ^(.*).band.s.co RewriteCond %{REQUEST_URI} !^/([a-zA-Z0-9-z-]+) RewriteRule ^(.*)$ /%1/$1 [L]

只需使一些文件夹与您需要的子域名相同即可。 文件夹必须像这样存在: domain.com/sub for sub.domain.com 。

总结

以上是内存溢出为你收集整理的.htaccess重写子目录到目录全部内容,希望文章能够帮你解决.htaccess重写子目录到目录所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1283308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存