[英]URL Rewrite based on trailing slashes in requested url
我正在一个动态的php网站上,该网站提供数据库中的内容。 目前我有四个PHP文件- index.php
, a.php
, b.PHP
, c.php
。 这些将来自数据库的结果用作请求的URL。 例如。
如果请求的网址为example.com
则index.php
提供结果。
如果所请求的网址是example.com/xyz.html
则a.php
首先从该网址中准确输入xyz
,然后将结果提供给xyz
。 [将example.com/a.php
重写为example.com/xyz.html
]
如果请求的URL是example.com/x/y.html
则b.php
首先从请求的URL中提取x
和y
,然后将结果提供给y
页面[将example.com/a.php/b.php
重写为example.com/x/y.html
]。
如果要求的网址是example.com/x/y/z.html
则c.php
首先从网址中提取x
, y
, z
,然后将结果提供给z
页面(重写example.com/a.php/b.php/c.php
到example.com/x/y/z.html
)。
简而言之,如果请求的网址是-
example.com
或example.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.