我正在尝试从此处重写我的网址:
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的子文件夹中,重写规则应仅适用于该文件夹。
答案 0 :(得分:2)
此.htaccess
应放在必须位于根文件夹中的文件夹admin
内:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /admin/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ index.php?id=$1 [L]
这2个条件确保我们不会重定向现有文件或文件夹,并且规则告诉我们要提取不是/
的任何内容并将其用作ID。
RewriteBase
告诉我们您的父文件夹是admin
,因此我们从那里开始工作。