我在.htaccess
文件中有此声明:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>
我的文件存储在:C:\xampp\htdocs\test505,com\
中,我有一个名为test505.com
的虚拟主机指向该目录,以及C:\Windows\System32\drivers\etc\hosts
文件中定义的主机,也称为{{1} }。
我甚至定义了一个test505.com
虚拟主机,它指向localhost
,并且工作正常。
如果我运行:C:\xampp\htdocs
并在/之后填写网址,它将按预期正常工作,但如果我这样做:http://test505.com/
,它将无法正常工作,并且网址不会被覆盖。 ..
如何让它在两个主机名上正常运行,从不指定路径名?
我不知道如何解决这个问题,所以感谢任何帮助!
注意:我在Yii Framework中使用PHP,并启用了URL格式的URL路径。
答案 0 :(得分:0)
# For sites running on a port other than 80
RewriteCond %{HTTP_HOST} !^localhost\/test505\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*) http://test505.com:%{SERVER_PORT}/$1 [L,R]
# And for a site running on port 80
RewriteCond %{HTTP_HOST} !^localhost\/test505\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://test505.com/$1 [L,R]
这样的事情可以提供帮助。尝试阅读http://httpd.apache.org/docs/2.0/misc/rewriteguide.html