【问题标题】:Implementing URL rewriting in PHP using framework使用框架在 PHP 中实现 URL 重写
【发布时间】:2012-06-13 21:04:38
【问题描述】:

这是更多信息而不是问题。(在搜索 Stack Overflow 时,我发现更多与问题相关的问题,然后是解决方案或解释)
我正在研究PHP 房地产网站,与this 非常相似。在这里,列表中的每个属性将用户带到不同的页面(URL 为每个单击的属性显示不同的链接)并显示详细信息.另外标签也变了。网站上一个城市大概有600个房源,绝对不可能有600页。所以他们肯定用过一些框架或 URL 重写技术来实现这一点。我对 PHP 还很陌生,没有框架经验(曾使用过经典 PHP)。
我希望得到回复/建议以了解此类功能的原理(理想情况下与网站相似) 可以使用任何 PHP 框架或一些 URL 重写技术来实现。
对不起,如果这个问题听起来太宽泛而无法解释,但任何指针也可以简单地解释一下场景我开始。
谢谢

【问题讨论】:

    标签: php url-rewriting


    【解决方案1】:

    在 Apache 中使用一个名为 mod_rewrite 的模块,并将名为 .htaccess 的文件放在您的 Web 目录中,其中包含以下内容(例如)

    RewriteEngine On
    RewriteRule ^([^/]*)\.php$ /view.php?id=$1 [L]
    

    如您所见,当请求 URL example.com/some-cool-apartment.php 时,就好像请求了以下内容 example.com/view.php?id=some-cool-apartment

    当然,其他 Web 服务器(例如 IIS)支持使用其他语法重写 URL。 IIS 使用名为web.config 的文件,其内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="RewriteUserFriendlyURL" stopProcessing="true">
                        <match url="^([^/]*)\.php$" />
                        <action type="Redirect" url="/view.php?id={R:1}" appendQueryString="false" />
                    </rule>
                </rules>
            </rewrite>
    
        </system.webServer>
    </configuration>
    

    希望回答了你的问题

    【讨论】:

    • 感谢您的及时回复。因此,如果 html 标签发生更改,它们也会从数据库中动态填充??
    • 是的,链接,特别是 href 属性中的内容是从数据库中获取的。
    • 顺便说一句,如果有些人花时间让答案易于理解,那么赞成/接受对您有帮助的答案(不仅仅是这个,还有其他问题)会很好。如果您有贪婪和忘恩负义的名声,您的问题将很难得到解答。
    • 我总是这样做,但是我的一些问题没有得到解答,我已经为你解答了(迟到的 bcoz 离开我的办公室,所以在家投票;))!!我一直接受那些答案有用!!感谢您的帮助!! :)
    猜你喜欢
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多