我通过 GoDaddy 有一个共享主机帐户,我在上面的网站使用 .htaccess 通过 index.php 路由所有请求。这本身就可以正常工作。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L,QSA]
然后我想将其限制为使用非 www url,所以我在它之前添加了以下内容:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
所以总的来说是:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L,QSA]
但是,这两者一起不起作用。该 URL 尝试重定向到 /missing.html 以获取应路由的 URL。分开这两个都很好。有没有办法让这两件事一起工作?