[英]Clean URL reroute with htaccess
我正在关注本教程,并且有这个文件结构:
└── public
├── .htaccess
└── index.php
└── .htaccess
一切都按预期工作。
根.htaccess 如下所示:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
我对 .htaccess 了解不多,但我想这会将 URI 重新路由到public
目录。 所以每个请求都会去那里。
公共目录中的 .htaccess 如下所示:
<IfModule mod_rewrite.c>
Options -Multiviews
RewriteEngine On
RewriteBase /auth/public
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
</IfModule>
上面的一切都按预期工作,但我想增强它,所以它像这样工作:
https://www.something.com/anything
保持原样https://www.something.com/index.php?q=anything
(技术上是https://www.something.com/public/index.php?q=anything
)好的,所以我找到了答案。 我编辑了根 .htaccess 并将最后一行更改为: RewriteRule (.*) public/index.php?s=$1 [L]
整个文件现在看起来像:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
#RewriteRule (.*) public/$1 [L]
RewriteRule (.*) public/index.php?q=$1 [L]
</IfModule>
将 URI 重新路由到public
目录的重写规则现在将 URI 重新路由到索引的查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.