1

.htaccess ファイルを Apache 2.2.25 に移行しようとしています。.htaccess ファイルは、正規表現の変更により、古いバージョンから新しいバージョンの Apache 2.2.25 に対応していないようです。

私はいくつかの調査を行いましたが、悲しいことに、何を変更する必要があるかを理解できませんでした。

Apache エラー ログに次のエラーが記録されています。

.htaccess: 正規表現をコンパイルできませんでした。

これが .htaccess ファイルです。これらの「RedirectMatch 301」が問題の原因だと思います。

RedirectMatch 301 ^/test/?$ http://www.domain.com/
RedirectMatch 301 ^/test/products/?$ http://www.domain.com/products/
RedirectMatch 301 ^/test/products/about/?$ http://www.domain.com/products/about/

以下は正常に動作しているようで、Apache エラー ログにエラーは生成されません。

#Wordpress configuration and force www
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^domain\.co\.in$ [NC]
RewriteRule ^(.*)$ http://www.domain.co.in/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^domain\.co\.uk$ [NC]
RewriteRule ^(.*)$ http://www.domain.co.uk/$1 [L,R=301]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
4

1 に答える 1

0

これを使用する代わりに:

RedirectMatch 301 ^/test/products/?$ http://www.domain.com/products/

代わりにこれを使用しました。これでエラーは発生しませんでした。

RedirectMatch 301 ^/test/products/(.*)$ http://www.domain.com/products/$1
于 2013-09-03T23:35:22.613 に答える