用PHP编辑.htaccess

我有一个.htaccess将域映射到文件夹.

RewriteEngine On
RewriteBase /

# redirect mapped domain
ReWriteCond %{HTTP_HOST} joshblease.uk.to
ReWriteCond %{REQUEST_URI} !gme-index/
ReWriteRule ^(.*)$gme-index/$1 [L]

有没有办法使用PHP编辑/添加额外的域映射到文件?

简单地说,我想获取.htaccess文件的内容并使用PHP脚本添加到它们中.

解决方法:

正如上面的一条评论中所建议的那样,最好在这里使用RewriteMap而不是直接从PHP代码编辑.htaccess.以下是如何使用它的示例:

>将以下行添加到httpd.conf文件中:

RewriteMap domainMap txt://path/to/domain-dir.txt

>将文本文件创建为/path/to/domain-dir.txt,如下所示:

sub1 /subdir1
sub2 /foodir2
foo /bar

>在.htaccess文件中添加以下行:

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$[NC]
RewriteRule ^$${domainMap:%1} [L,R]

实际上,所有这些方法都是将这些重定向到位:

> sub1.domain.com/ => sub1.domain.com/subdir1
> sub2.domain.com/ => sub2.domain.com/foodir2
> foo.domain.com/ => foo.domain.com/bar

优点:有了这个设置,您可以根据需要编辑或重新创建文件/path/to/domain-dir.txt,而无需打开巨大的安全漏洞,允许php代码直接编辑.htaccess.

上一篇:编辑距离问题(第二次上机实验的实验报告)


下一篇:Vue路由传递参数