Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 同一htaccess中的两个重写规则_.htaccess_Url Rewriting_Friendly Url - Fatal编程技术网

.htaccess 同一htaccess中的两个重写规则

.htaccess 同一htaccess中的两个重写规则,.htaccess,url-rewriting,friendly-url,.htaccess,Url Rewriting,Friendly Url,在我的web服务器的www根文件夹中,我有两个文件夹用于两个不同的网站 www/firstsite www/secondsite 要访问第一个站点的index.php文件,请访问www.firstsite.com/firstProject 要访问第二个网站的index.php文件,请访问www.secondsite.com/secondProject 我想在根文件夹“www”中放置一个唯一的htaccess文件。此htaccess文件对这两个网站都有重写规则 因此,用户将看到www.first

在我的web服务器的www根文件夹中,我有两个文件夹用于两个不同的网站

www/firstsite
www/secondsite
要访问第一个站点的index.php文件,请访问
www.firstsite.com/firstProject

要访问第二个网站的index.php文件,请访问
www.secondsite.com/secondProject

我想在根文件夹“www”中放置一个唯一的htaccess文件。此htaccess文件对这两个网站都有重写规则

因此,用户将看到
www.firstsite.com
,而不是
www.firstsite.com/firstProject

www.secondsite.com
而不是
www.secondsite.com/secondProject

编辑:我使用此htaccess重写
www.firstsite.com
的url(不要忘记此网站位于文件夹
www/firstsite

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ firstsite/$1 [QSA,L]
</IfModule>

使用
%{HTTP\u HOST}
变量测试域名,并基于该变量重定向:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?firstsite\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/firstProject [NC]
RewriteRule ^(.*)$ /firstProject/$1 [L]

类似的规则将适用于您的第二个域。

您没有访问apache根服务器配置或VHost配置的权限吗?没有,我没有访问VHost的权限。是否可以使用htaccess文件执行此操作?是的,这是可能的,但使用根配置/VHost会使服务器执行得更快。:)好的,谢谢您的提示。我已经编辑了我的问题,以显示我用于重写第一个站点url的htaccess文件,我也希望对第二个站点执行同样的操作。谢谢,我编辑了我的问题,以显示我用于重写www.first.com url的规则。我试着实现你的答案,当我告诉我的朋友,我会给出一个反馈,这是有效的!这是我使用的最后一个htaccess:RewriteCond%{HTTP\u HOST}^(?:www\)?firstsite\.com$[NC]RewriteCond%{REQUEST\u URI}^/firstProject[NC]RewriteRule^(.*)$/firstProject/$1[L]RewriteEngine在RewriteCond%{HTTP\u HOST}^(?:www\)?secondsite\.com$[NC]RewriteCond%{REQUEST\u URI}^/secondProject[NC]RewriteRule^(.*)$/secondProject/$1[L]@zm455第二次不需要使用
上的重写引擎。
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?firstsite\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/firstProject [NC]
RewriteRule ^(.*)$ /firstProject/$1 [L]