2つのmod_rewriteルールを1つに組み合わせる必要があります。
1)CMSには、Web上のすべてのクエリを処理するindex.phpがあります。たとえば、URIがdomain.com/query-stringの場合、index.phpは必要な部分を呼び出し/インクルードし、コンテンツを表示します。私はこれを行います:
RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$
RewriteRule ^([^*]+) index.php [L,QSA]
2)HTTP301でリダイレクトする必要があります永久にwwwを非wwwに移動しました。たとえば、www.domain.comからdomain.comへ。私はこれを行います:
RewriteCond %{HTTP_HOST} ^www.domain.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
しかし、これらのルールを両方ともhtaccessファイルに入れると、動作が停止し、Webリダイレクトにあるすべてのリンクがindex.phpを実行してホームページを表示します。そのため、これら2つのルールを1つにまとめる必要があります。
.htaccessの最初は次のとおりです。
RewriteEngine On
RewriteBase /
解決策はありますか、それを行う方法はありますか?
.htaccess全体:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$
RewriteRule ^([^*]+) index.php [L,QSA]
RewriteCond %{HTTP_HOST} ^www.domain.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
ルールを並べ替えようとしましたが、解決策がありません。
どうもありがとう。