[英]Htaccess Rewrite Rule
我对.htaccess和重写规则感到疯狂。 我想了解它的工作原理,但我讨厌它,这是我的问题。
(对大多数人来说真的很简单)
我的网站有一个主页index.php
。 这是唯一的页面,所有其他页面都由该页面处理。
我做了一个简单的RewriteRule
:
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1
去做这个:
/index.php?page=VAL -> /VAL
但是我不知道如何为此创建规则:
/index.php?page=VAL&var1=VAL2&var2=VAL3 etc.
我想要一个最终网址,例如:
/VAL/VAL2/VAL3 etc.
谢谢
您可以将请求重写为index.php并使用PHP解析请求的URI路径:
$_SERVER['REQUEST_URI_PATH'] = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = implode('/', ltrim($_SERVER['REQUEST_URI_PATH'], '/'));
规则如下:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^index\.php$ index.php [L]
这将重写每个请求(即URI路径无法映射到现有文件)和index.php 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.