.htaccess 同一htaccess中的两个重写规则
在我的web服务器的www根文件夹中,我有两个文件夹用于两个不同的网站.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
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]