RewriteEngine不在本地重写URL?

Gar*_*ett 3 php apache .htaccess mod-rewrite

Options +FollowSymlinks

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteCond %{REQUEST_FILENAME} !-d # not a directory
RewriteRule ^(.+)$ index.php?params=$1 [L]
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我正试图转换任何类似的东西

mysite.com/x/y/z

mysite.com/index.php?params=x/y/z

但它没有用.我试过mysite.com/home并在index.php的第一行放了一个断点,但得到了404.

关于为什么这不适合我的任何想法?谢谢!

Tim*_*per 5

首先,确保mod_rewrite您的Apache服务器已启用.

然后删除行尾的注释:

# not a file
RewriteCond %{REQUEST_FILENAME} !-f
# not a directory
RewriteCond %{REQUEST_FILENAME} !-d
Run Code Online (Sandbox Code Playgroud)

从Apache文档:

以井号"#"开头的行被视为注释,并被忽略.配置指令后,注释可能不包含在一行中.