[英]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.