我对apache很新,我需要一些.htaccess重写规则的帮助。这是现行规则:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/beta/index\.php$
RewriteRule ^(.*)$ /beta/index\.php [R=302,L]
基本上它会将任何请求重定向到mydomain.com \ beta \ index.php,除非指定了文件名。这个现在工作正常。
问题在于:
我有一个子域名beta.mydomain.com,我不希望这些规则适用于。 beta.subdomain.com上的任何网址都应该正常处理。但是,由于.htaccess位于服务器根目录,因此它的规则也在使用beta.subdomain.com。
我尝试过很多不同的正则表达式组合,但我无法理解。救命啊!
答案 0 :(得分:2)
您需要使用类似的内容(检查您的请求是否与特定域/子域相关):
RewriteCond %{HTTP_HOST} ^([^.]+)\.mydomain\.com(:80)?$
错过了20秒......但我的答案更好;)
答案 1 :(得分:1)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/beta/index\.php$
RewriteCond %{HTTP_HOST} !^beta\.subdomain\.com
RewriteRule ^(.*)$ /beta/index\.php [R=302,L]
这应该做的伎俩!