使用Apache 2。
我需要在http://website.dev/file-name.php
中重写http://website.dev/file-name
中所有请求的网址。
以下是.htaccess
文件:
RewriteEngine On
SetEnv "ENVIRONMENT" "production"
SetEnv "BASE_URL" "http://website.dev"
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.php$ $1
ErrorDocument 404 /404.php
该解决方案完美适用于登台服务器,但在生产时(已启用mod_rewrite),请求http://website.dev/file-name
似乎无效并导致显示404.php
文件。
我缺少什么?是否有任何逻辑或服务器配置问题?
答案 0 :(得分:1)
这应该做
ErrorDocument 404 /404.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/?$ $1.php [NC,L]