我有一个根域www.example.com和一个子域test.example.com。我正在尝试删除文件扩展名 - 到目前为止,我可以删除根域的文件扩展名但不删除子域 - 它会抛出404未找到的错误。下面是根文件夹中的.htaccess代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
例如,我可以输入www.example.com/page并显示www.example.com/page.php,但如果我输入test.example.com/some-page,则返回404 - 我需要在test.example.com/some-page.php中键入要显示的页面。
我还想重定向所有www。要求非www。域:
www.example.com - > example.com www.test.example.com - > test.example.com
答案 0 :(得分:0)
您需要在您的域中设置wildcard。如果没有设置,则需要将.htaccess放在每个子域文件夹中。
将“www”重写为非www地址的规则:
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]