繁体   English   中英

Htaccess重写规则

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

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