如何为我的子域设置RewriteRule(htaccess)

时间:2015-05-08 20:39:58

标签: php .htaccess mod-rewrite

如何在子域上设置我的htaccess,
例如using (SqlConnection connectionx = new SqlConnection(CONNECTIONSTRING)) { if(connectionx.State != ConnectionState.Open connectionx.Open(); cmd.CommandText = queuery; cmd.CommandType = CommandType.Text; cmd.Connection = connectionx; reader = cmd.ExecuteReader(); connectionx.Close(); } 所有请求都会发送到xy.blub.com

我已经尝试过这个配置:

index.php?page=

子域名有一个特定的文件夹,当我尝试从我的网站打开一个链接时,例如xy.blub.com/home,它总是试图寻找一个文件夹" home"在我的子域文件夹中,而不是获取RewriteEngine on RewriteBase / RewriteRule \.(jpg|JPG|jpeg|JPEG|gif|GIF|png|PNG|bmp|BMP|js|JS|css|CSS|swf|SWF|flv|FLV|mp4|ICO|ico|MP4|htc|HTC|eot|svg|ttf|woff|woff2)$ - [L] RewriteRule ^index.php$ - [L] RewriteRule ^ajax.php$ - [L] RewriteRule .* index.php?page=$0 [QSA,L]

2 个答案:

答案 0 :(得分:0)

这应该有效

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !index.php
RewriteRule  ^(.*)$ /index.php?page=$1 [QSA,L,R=301]

但请记住,这适用于所有来电,还有js / css / images / icons等。

所以也许可以添加

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

因为它只会在文件不存在时执行规则。

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index.php
RewriteRule  ^(.*)$ /index.php?page=$1 [QSA,L,R=301]

答案 1 :(得分:0)

好的,找到了答案。服务器是MS 2012,因此没有.htaccess支持。如果你知道MS Servers不接受.htaccess文件,我需要用IIS URL Rewrite编写相同的规则 - 这很简单。所有你的帮助。