.htaccess仅从live站点删除www
是否可以有条件地包括重写规则,该规则仅在活动站点上从URL中删除www?我有site.dev和staging.site.com以及site.com设置,但我只想有一个.htaccess文件来跟踪。当前我的.htaccess如下所示:.htaccess仅从live站点删除www,.htaccess,conditional,no-www,.htaccess,Conditional,No Www,是否可以有条件地包括重写规则,该规则仅在活动站点上从URL中删除www?我有site.dev和staging.site.com以及site.com设置,但我只想有一个.htaccess文件来跟踪。当前我的.htaccess如下所示: RewriteEngine On # remove index.php RewriteCond %{QUERY_STRING} !^(ACT=.*)$ [NC] RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] RewriteCond
RewriteEngine On
# remove index.php
RewriteCond %{QUERY_STRING} !^(ACT=.*)$ [NC]
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
# remove www
# RewriteCond %{http_host} ^www\.site\.com [NC]
# RewriteRule ^(.*)$ http://site.com/$1 [R=301,NC]
在site.dev和staging.site.com上。我在site.com中取消了最后两行的注释。如果我在site.dev上未注释这两行,它会将我重定向到site.com
更新:
根据下面的请求,以下是该站点httpd-vhosts.conf中的条目:
NameVirtualHost *:80
<Directory "/Users/stubear/Sites/site/dev/html/">
Allow From All
AllowOverride All
</Directory>
<VirtualHost *:80>
ServerName "site.dev"
DocumentRoot "/Users/stubear/Sites/site/dev/html"
</VirtualHost>
NameVirtualHost*:80
通融
允许超越所有
服务器名“site.dev”
DocumentRoot“/Users/stubear/Sites/site/dev/html”
就在上面删除index.php的那一个。上面编辑添加了full.htaccess file.no,我可以使用site.dev,但当前当我将其输入地址栏时,它会将我重定向到site.com。如果我在本地服务器版本的.htaccess文件中注释掉这些行,它将按预期工作。我只想有一个.htaccess文件来跟踪,而不是两个,我必须确保注释掉从site.com删除www的rewritecond和rewrite规则。dev domainsite.dev
是这样的吗?您的WEB服务器上是否有virtualhost设置或服务器别名?如果您正在使用WAMP,请查看WAMP服务器的vhosts.conf
文件。是的,我为site.dev创建了一个虚拟主机(OSX.8上的Apache),指向~/user/sites/site中的文件夹。我意识到我的.htaccess应该可以工作,但由于某些原因它不能工作。你能用你的virtualhost for site.dev更新你的问题吗?您的家庭服务器上是否也配置了site.com,它是否指向与site.dev相同的文件夹?