使用mod_rewrite

时间:2019-07-13 10:30:48

标签: apache mod-rewrite internal-server-error

我对mod_rewrite知之甚少,但是我发现了这段代码,该代码有助于我从/file.php重定向到/ file以及从/ file重定向到file.php。如果请求的URL是domain.com/file或domain.com/file.php,则此方法有效。但是问题是如果我尝试使用domain.com/directory/anotherdirectory,则会收到内部服务器错误消息。请问我该如何解决?预先感谢

# handle .php
#1)externally redirect "/file.php" to "/file" 
RewriteCond %{REQUEST_METHOD} GET 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=302,L]

#2)Internally map "/file" back to "/file.php"
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

0 个答案:

没有答案