htaccess RewriteRule不工作-(404错误)来自服务器



我正试图从以下内容重写我的URL:

http://www.example.com/admin/index.php?id=title

至:

http://www.example.com/admin/title

我在我的htaccess中使用这个代码:

RewriteEngine On
RewriteRule ^([^/]*).html$ /admin/index.php?id=$1 [L]

但当我尝试重写URL时,我从服务器上得到了一个404错误。我犯了什么错误?.htaccess位于名为admin的子文件夹中,重写规则应该只适用于该文件夹。

.htaccess应放置在文件夹admin中,该文件夹必须位于根文件夹中

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /admin/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ index.php?id=$1 [L]

这两个条件确保我们不会重定向现有的文件或文件夹,规则告诉我们想要提取任何不是/的内容并用作ID。

RewriteBase告诉我们您的父文件夹是admin,因此我们从那里开始工作。

相关内容

最新更新