我需要在htaccess中设置重定向。 我的htaccess在下面给出
RewriteEngine on
# If a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward it to index.php
RewriteRule . frontend/web/index.php
因此它将所有请求重定向到frontend / web / index.php
但问题是假设以下请求来自/ site / about 目前使用上述规则frontend / web / index.php未接收路径参数。即。 / site / about正在重定向到
我需要路径参数作为路径参数本身在frontend / web / index.php
中.IE。 / site / about应映射到/frontend/web/index.php/site/about 路径部分也是动态的。即它可以是网站/服务
之类的东西我如何在htaccess中执行该规则。我已经检查了一些其他解决方案,但大多数人都说要将路径参数映射到查询字符串,而我根据我的网站设置无法进行查询。
答案 0 :(得分:1)
您需要将原始路径附加到新路径:
RewriteRule (.*) frontend/web/index.php/$1
答案 1 :(得分:1)
正如@Rickdenhaan所说,您需要将请求路径附加到目标网址。您可以使用%{REQUEST_URI}变量或在重写目标末尾使用backrefrence来添加它。
将您的RewriteRule行更改为:
RewriteRule . frontend/web/index.php%{REQUEST_URI} [L]