我正试图从以下内容重写我的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
,因此我们从那里开始工作。