繁体   English   中英

htaccess 重写简化的 url 结构导致无限重定向

[英]htaccess rewrite for simplified url structure causing infinite redirect

我正在制作一个非常小的项目,而通常我会使用一个 PHP 框架来为我处理这个问题,我不想要框架的不必要的混乱。 我有这个结构:

-> assets
   -> css/etc
-> pages
   -> api.htm
   -> scramble.htm
   -> unscramble.htm
-> structure
   -> header.htm
   -> footer.htm
-> index.php

所有这些文件都在一个目录中, example.com/example/scrambling/

因此,要访问我的文件,通常我必须访问例如example.com/example/scrambing/pages/api.htm - 但我希望所有页面加载都通过 index.php 处理。

我的目标是通过简单地转到example.com/example/scrambling/api来访问上面的文件

我发现了一些关于如何使用 .htaccess 实现这一目标的问题,但没有一个对我有用。 它们总是导致无限循环,并被重定向到/example/scrambling/pages/index/pages/index/pages/index/pages/... - 我不太确定如何解决这个问题。

我当前的 .htaccess 文件是这样的:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?f=$1

我尝试通过echo $_REQUEST['f'];访问页面名称echo $_REQUEST['f'];

如何使 .htaccess 文件不会无限地重定向我?

试试这个,这肯定会奏效。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .* - [L]
RewriteRule ^([^/]+)$ index.php?f=$1 [L,QSA]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM