繁体   English   中英

根据请求的URL中的斜杠重写URL

[英]URL Rewrite based on trailing slashes in requested url

我正在一个动态的php网站上,该网站提供数据库中的内容。 目前我有四个PHP文件- index.phpa.phpb.PHPc.php 这些将来自数据库的结果用作请求的URL。 例如。

  1. 如果请求的网址为example.comindex.php提供结果。

  2. 如果所请求的网址是example.com/xyz.htmla.php首先从该网址中准确输入xyz ,然后将结果提供给xyz [将example.com/a.php重写为example.com/xyz.html ]

  3. 如果请求的URL是example.com/x/y.htmlb.php首先从请求的URL中提取xy ,然后将结果提供给y页面[将example.com/a.php/b.php重写为example.com/x/y.html ]。

  4. 如果要求的网址是example.com/x/y/z.htmlc.php首先从网址中提取xyz ,然后将结果提供给z页面(重写example.com/a.php/b.php/c.phpexample.com/x/y/z.html )。

简而言之,如果请求的网址是-

example.comexample.com/结果将由index.php

example.com/anything.html然后结果将由a.php

example.com/anything/anything.html然后结果将由b.php

example.com/anything/anything/anything.html然后结果将由c.php解析

那么如何使用URL重写实现此类功能? 请使用.htaccess代码答复此功能。

将此代码放在您的DOCUMENT_ROOT/.htaccess文件中:

DirectoryIndex index.php

RewriteEngine On

RewriteRule ^(?!(a|b|c)\.php$)[^/.]+\.php$ /a.php [L,NC]

RewriteRule ^[^/]+/[^/.]+\.php$ /b.php [L,NC]

RewriteRule ^[^/]+/[^/]+/[^/.]+\.php$ /c.php [L,NC]

暂无
暂无

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

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