.htaccess and PHP beautify URL



我正在尝试使用PHP的替代方法:

$request = explode("/", substr(@$_SERVER['PATH_INFO'], 1));

上面的片段将让我使用诸如" www.example.com/index.php/article/how-to-diy"之类的URL,其中"/actits/acties/how-to-diy"是URL参数。

不过,我真的很想失去" index.php",而且我绝不是.htaccess-wiz,所以我可以在制作rewriterule时使用一些帮助,以将我的URL更改为" www"。example.com/article/how-to-diy"。

我已经环顾四周,我发现的示例都与经典的参数语法有关(即" index.php?page = 12"),我不是我追求的解决方案。

<</p>

我习惯于典型的MVC/WordPress处理URL的方式...在HTACCESS和URL路由器中的所有工作中更少的工作。我举一个例子:

.htaccess

DirectoryIndex index.php
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . index.php
</IfModule>

然后,在index.php中调用一个路由机制,该机制解析您的URL并产生适当的页面。但是不要使用 path_info ,您需要知道要请求的内容:

$request = explode("/", @$_SERVER['REQUEST_URI']);

编辑:

如果脚本(index.php)和.htaccess不在文档根中,则重写应反映这一点:

RewriteRule . /path/to/index.php

然后,路由机制应简单地循环浏览$请求,以找到所需的零件。

最新更新