我需要帮助来build立我的.htaccess所以它适用于两种不同的条件。
第一个条件是:
RewriteEngine on RewriteCond %{request_filename} -f RewriteRule ^(.*) $1 [L] RewriteRule ^(([^/]*)+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&q=$3 [L]
我想添加一个条件,重写非www www
我如何强制www。 在我的网站上?
我想通过htaccess强制www,但我不知道如何去做到这一点。
任何规范的redirect都应该在现有的内部重写之前进行 。 所以,请尝试以下方法:
RewriteEngine On # Canonical non-www to www redirect RewriteCond %{HTTP_HOST} =example.com [NC] RewriteRule (.*) http://www.example.com/$1 [R=301,L] # Internal rewrites RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^ - [L] RewriteRule ^([^/]+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&q=$3 [L]
我也整理一下你现有的重写。 如果您不想更改URL,则在replace中使用一个连字符( - ),而不是重写为自身。 ([^/]*)+ (0次以上,至less1次)的模式与[^/]+ (1以上)相同。