我正在一个动态的php网站上,该网站提供数据库中的内容。目前我有四个PHP文件- ,index.php
,a.php
,。b.PHP
c.php
这些将来自数据库的结果用作请求的URL。例如。
如果请求的网址example.com
则index.php
提供结果。
如果请求的URL是example.com/xyz.html
那么a.php
首先确切xyz
的URL,然后服务于结果xyz
。[重写example.com/a.php
为example.com/xyz.html
]
如果请求的URL example.com/x/y.html
,然后b.php
第一提取物x
和y
从请求的URL,然后服务于结果y
页[重写example.com/a.php/b.php
来example.com/x/y.html
。
如果请求的URL是example.com/x/y/z.html
在c.php
第一提取物x
,y
,z
从URL,然后服务于结果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]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句