我正在尝试为不同的目录创建重写规则,但不幸的是它无法正常工作。
我的当前重写将所有内容发送回index.php文件,除非查询字符串中的第一个单词是admin。 'admin'的重写规则是admin.php,但我实际上希望它转到/var/www/html/website.com/admin/admin.php(而不是同一目录中的文件)。
这是当前的.htaccess文件。
RewriteEngine On
RewriteRule ^(.*\/?).*(css|images|js/)+.*$ - [L]
RewriteRule ^\/?admin\/?(.*)$ admin.php?url=$1 [QSA,L]
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
如果我更改管理员的重写规则以使用其他目录..
RewriteRule ^\/?admin\/?(.*)$ /var/www/html/website.com/admin/admin.php?url=$1 [QSA,L]
它破坏了网站。有什么想法吗?
感谢。
答案 0 :(得分:0)
实际上非常简单,您需要使用系统路径,而需要使用Web路径。
请尝试以下行:
RewriteRule ^\/?admin\/?(.*)$ /subfolder/admin.php?url=$1 [QSA,L]
答案 1 :(得分:0)
请尝试以下规则:
RewriteRule ^admin($|/(.*)) admin/admin.php?url=$2 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php?url=$0 [QSA,L]