(嗨!这是我第一次在Stack Overflow上问一些问题,经过多年的回答...谢谢!)
我有一个动态页面,我希望有固定的网址指向该网页的不同状态。因此,例如:" www.mypage.co"(/ index.php)是基页,它根据用户选择重新排列其内容。我希望能够指向" www.mypage.co/contentA"或" www.mypage.co/contentB"为了自动加载页面在" www.mypage.co"具有所需的内容。
从根本上讲,问题是审美问题。我知道我可以简单地写www.mypage.co/index.html?state=contentA来达到理想的目的,但我希望保持URL简单易读(即干净)。由于我的托管关系的限制,我也非常欣赏与服务器无关的解决方案(至少在LAM [PHP]堆栈中),如果可能的话。
另外,如果我对如何实现干净的URL有错误的假设,我会很乐意指导一个好的,全面的解释。我似乎无法找到一个......
答案 0 :(得分:0)
如果您使用Apache,则可以使用mod_rewrite。我有一个这样的规则,其中多个restful url都转到同一页面,使用正则表达式并将旧url的部分移动到新url的参数中:
RewriteRule ^/testapp/(name|number|rn|sid|unii|inchikey|formula)(/(startswith))?/?(.*) /testapp/ProxyServlet?objectHandle=Search&actionHandle=drillIn&searchtype=$1&searchterm=$4&startswith=$3 [NC,PT]
特定的正则表达式接受像
这样的网址并将它们转发到同一页面。
我也使用UrlRewriteFilter作为Tomcat,但正如你提到的PHP那样,它看起来并没有用。
答案 1 :(得分:0)
您可以使用htaccess文件将所有请求重定向到一个位置,然后从那里确定要返回给客户端的内容。查看htaccess/dispatch system使用的Tonic。