【问题标题】:Two rewrite rules in the same htaccess同一个 htaccess 中的两个重写规则
【发布时间】:2016-09-05 17:12:11
【问题描述】:

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

www/firstsite
www/secondsite

要访问第一个站点的 index.php 文件,我会转到 www.firstsite.com/firstProject

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

我想在根文件夹“www”中放置一个唯一的 htaccess 文件。这个 htaccess 文件将有两个 webstie 的重写规则。

所以用户会看到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>

Edite:这是答案,感谢 hjpotter92!

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

【问题讨论】:

  • 您无权访问 apache 的根服务器配置吗?还是 VHost 配置?
  • 不,我无权访问虚拟主机。是否可以使用 htaccess 文件来做到这一点?
  • 是的,这是可能的,但使用 root config/vhost 会使服务器执行得更快。 :)
  • 好的,谢谢你的提示。我已经编辑了我的问题以显示我用来重写第一个站点的 url 的 htaccess 文件,我想对第二个站点做同样的事情

标签: .htaccess url-rewriting friendly-url


【解决方案1】:

使用%{HTTP_HOST} 变量来测试您的域名,并基于此进行重定向:

RewriteEngine On

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

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

【讨论】:

  • 谢谢我已经编辑了我的问题以显示我使用哪些规则来重写 www.first.com 的 url。我会尝试实施您的答案,并会在可能的情况下提供反馈
  • 感谢我的朋友,它有效!这是我使用的最终 htaccess: RewriteEngine On RewriteCond %{HTTP_HOST} ^(?:www\.)?firstsite\.com$ [NC] RewriteCond %{REQUEST_URI} !^/firstProject [NC] RewriteRule ^(.*) $ /firstProject/$1 [L] RewriteEngine On RewriteCond %{HTTP_HOST} ^(?:www\.)?secondsite\.com$ [NC] RewriteCond %{REQUEST_URI} !^/secondProject [NC] RewriteRule ^(.*) $ /secondProject/$1 [L]
  • @zm455 第二次不需要RewriteEngine On
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-15
  • 2017-11-21
  • 2013-06-29
  • 1970-01-01
  • 2017-04-29
  • 1970-01-01
相关资源
最近更新 更多