我想将我的网站重定向到管理面板
喜欢
localhost/website/ => localhost/website/admin
localhost/website/login => localhost/website/admin
localhost/website/blog => localhost/website/admin
这是我创建的规则
RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /website/admin/$1 [L]
但这不起作用
答案 0 :(得分:3)
以下代码会将所有内容重定向到管理页面,并保留属性。这也适用于已经存在的文件!
RewriteEngine On
RewriteCond %{REQUEST_URI} !^website/admin
#RewriteCond %{REQUEST_FILENAME} !-f #OPTIONAL: Remove '#' if you want existing files to display normally
#RewriteCond %{REQUEST_FILENAME} !-d #OPTIONAL: Remove '#' if you want existing files to display normally
RewriteRule ^(.*)$ /website/admin/ [L,QSA]
打开重写引擎:
RewriteEngine On
重写的具体条件:uri(你的域名/ localhost之后的部分)不能({= inverse,NOT)以website/admin
=开始(^ =开始行)=你要重写的地方。必须这样做以防止循环。
RewriteCond %{REQUEST_URI} !^website/admin
如果您希望不重写现有文件,可以取消注释2行(删除#)
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
改写自己:
QSA =查询字符串追加:保持参数,例如?page = contact eg。
RewriteRule ^(.*)$ /website/admin/ [L,QSA]
我希望这能澄清我的解决方案。
答案 1 :(得分:0)
尝试:
RewriteEngine On
RewriteCond $1 !^website/admin
RewriteRule ^(.*)$ /website/admin [L]
答案 2 :(得分:0)
您可以根据您的代码更新一些内容:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/index\.php/component/quates [NC]
RewriteRule .* index.php/component/quotes [R=301,L]
或阅读此链接:
http://coolestguidesontheplanet.com/redirecting-a-web-folder-directory-to-another-in-htaccess/
答案 3 :(得分:0)
这应该有效:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(website/admin)$ [NC]
RewriteRule ^(.*)$ website/admin [R=301,L]
<强>解释强>
首先,我们确保请求不适用于存在的文件或目录:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
然后我们看看website/admin
是否是我们请求的URL(不区分大小写的[NC]):
^
表示开始,$
结束表达。
RewriteCond %{REQUEST_URI} !^(website/admin)$ [NC]
如果满足所有条件,我们会使用HTTP状态代码301(最后一步[L])重定向到website/admin
:
RewriteRule ^(.*)$ website/admin [R=301,L]
答案 4 :(得分:0)
试试这个:
RewriteEngine On
RewriteRule ^website/(?!admin).*$ website/admin [L]
RewriteRule ^website/admin[^/]+.*$ website/admin [L]