Php HTACCESS:将域根目录更改为子目录
我正在尝试使用子目录作为我的一个域的根文件夹。使用.htaccess,我使用mod_rewrite来完成工作。以下是我已有的代码:Php HTACCESS:将域根目录更改为子目录,php,.htaccess,directory,root,Php,.htaccess,Directory,Root,我正在尝试使用子目录作为我的一个域的根文件夹。使用.htaccess,我使用mod_rewrite来完成工作。以下是我已有的代码: RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ RewriteCond %{REQUEST_URI} !^/domain/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /domain/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/domain/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /domain/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ /domain/index.php [L]
这就完成了工作,但不是全部。例如:
如果我转到,它会在域
文件夹中显示index.php
。如果我转到,它将显示test
文件夹的内容(或403)但是如果我转到(使用快捷方式,甚至显示文件夹),我会被重定向到
这是不应该发生的。如果有的话,它要么从.htaccess(如果正在使用测试)执行掩码,要么应该直接转到。我已经想办法解决这个问题,但我做不到。所以我在寻求你的帮助!:)
非常感谢您提供的所有帮助。评论者说得对,如果您想
使用子目录作为我的一个域的根文件夹,只需在apache虚拟主机配置()中进行配置即可。试试这个:这有点粗糙,但应该可以做您想做的事情。这里有一点混乱:我尝试做的一些事情将取决于您的重写库(您可能需要删除一个或多个/字符)
我基本上添加了一个初始块,专门查找/domain/文件夹中不以斜杠结尾的目录,并添加了一个。让我知道它是否有效
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/domain/
RewriteCond /domain/%{REQUEST_URI} -d
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /domain/$1/
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/domain/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /domain/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ /domain/index.php [L]
像这样使用RewriteBase:
重写基/f2f/f2fweb
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(.*)$ /domain/$1/ [L]
上面的代码成功地完成了我希望它完成的一切。帮助我的是主机上的auto.htaccess生成器
DirectoryIndex index.php
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://(www\.)?domain.com/TEST//.*$ [NC]
RewriteRule \.(js|css|jpg|gif|png|bmp|mp4|3gp|m4a|m4r|aac|mp3|ogg|wave)$ - [F]
这是vhost的作业,而不是.htaccess。我正在使用.htaccess。因此,请提供支持,而不是让我学习其他东西。你不需要学习任何东西,你只需更改vhosts.conf中的路径并重新启动服务器。“因此,请提供支持,而不是让我学习其他东西。”---因此,这不是一个可以指定回答者回答什么以及如何回答的地方。不管你们是否接受这个答案——别忘了这是一个专业人士帮助专业人士的网站,而不是你们个人的免费支持。伙计们,据我所知,他只是没有访问服务器的权限,但有.htaccess。这对我不起作用。我仍然得到与原始编码相同的效果。