Apache RewriteRule [L,R = 301]不会在某些服务器上重定向

时间:2016-10-19 22:44:29

标签: apache .htaccess mod-rewrite

# RewriteCond %{REQUEST_URI} ^/primary/
# RewriteCond %{REQUEST_URI} !(wp-admin|wp-content)
RewriteRule primary/(.*) /$1 [L,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

以上是我的HTACCESS配置(的一部分)。具体来说,最后2条规则。基本上,任何不指向wp-admin / wp-content的URL都应该被重写以删除文件夹名称(主要)。

这适用于我的本地Apache环境,但它不会在目标服务器上执行重定向。它发送只是将我发送到我请求的URL并抛出404,因为该页面不存在。

Apache version: 2.2.3
URL: http://example.com/primary/decks-and-patios/
Expected result: http://example.com/decks-and-patios/
Actual result: http://example.com/primary/decks-and-patios/

Apache version: 2.2.29
URL: http://example.local/primary/decks-and-patios/
Expected result: http://example.local/decks-and-patios/
Actual result: http://example.local/decks-and-patios/

任何建议都会有所帮助。

0 个答案:

没有答案