我们正在尝试将 .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>