我的网站是website.com/public/login.php。看起来有点难看。您如何重写htaccess来表示website.com/login.php?
我尝试过
RewriteEngine On
RewriteBase /public/
RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
答案 0 :(得分:1)
由于RewriteRule
,剥离/public/
路径的R=
当前是外部重定向。由于您希望隐藏该规则的结果,因此它应该是一个内部重定向(也称为URL forwarding ),并且该书写的内容不带{{1} }选项。
使用这种方法时,您还可以从外部可见的URL中隐藏R=302
,因为简单的.php
比/login
干净得多。
答案 1 :(得分:0)
Solved. It hides /public/
website.com/login.php instead of
website.com/public/login.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>