0

我正在使用一个 PHP 路由器 (AltoRouter),它允许我以各种方式定义路由,但不进行任何类型的重定向。

我希望我的“/”路线保持原样。

但是,如果有人去 '/' 以外的任何地方,我有一个通配符路由,它可以获取该路由的名称,找到一个 twig 文件,并根据名称呈现它。所以'/about' 会定位about.twig并渲染它。

我想要实现的是,如果有人去“/about”或“/contact”等,那么他们将被重新路由到“/pages/about”、“/pages/contact”等,但如果他们直接转到“/pages/about”,然后无需重新路由。

我当前的 .htaccess 文件如下所示:

RewriteEngine on
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

不幸的是,我做了一堆搜索,并没有真正找到如何进行特定的条件重新路由/重定向。尤其是没有留下根“/”的人。

Pspages实际上不是服务器上的目录。我只想在页面名称之前插入“页面”。

4

1 回答 1

0

尝试在之后立即添加RewriteEngine on

RewriteCond %{REQUEST_URI} !=/
RewriteCond %{REQUEST_URI} !^/pages/
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule (.*) /pages/$1 [R,L]
于 2018-08-08T12:28:55.620 回答