我遇到了.htaccess RewriteRule的问题。我所要做的就是 重写此网址 - www.example.com/public/?q=admin 到 - www.example.com/public/admin
但现在当我转到此网址www.example.com/public/admin时,它说未找到。
但此网址正在运行ww.example.com/public/?q=admin
这是我的.htaccess代码
Options All -Indexes
<FilesMatch "(config|.+\.html)\.php">
deny from all
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(bmp|cgi|css|flv|gif|ico|jpe?g|js|png|swf|xml)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) ?q=$1&%1 [L,QSA]
</IfModule>
有谁知道帮忙?
UPDATE 此脚本安装在子域和子文件夹中 像这样 http://subdomain.maindomain.com/comingsoon/ 即将推出的是根文件夹 http://subdomain.maindomain.com/comingsoon/public是放置.htaccess文件的另一个文件夹。
我正在使用名为Swiftlet的迷你php框架
答案 0 :(得分:0)
好的,所以在你更新后,试试这个:
RewriteBase /comingsoon/public
RewriteRule ^(.*)$ /?q=$1 [L,QSA]
答案 1 :(得分:0)
您可以在.htaccess中使用此规则作为您所需的网址。
RewriteRule ^public/(.*)$ public?q=$1 [L,QSA]
更新1:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^subdomain.domain.com
RewriteRule ^public/(.*)$ http://subdomain.domain.com/comingsoon/public?q=$1 [L,NC,QSA]