我想用php和javascript开发一个应用程序,我想在其中提及城市名称以及网站网址,例如www.website.com/cityname
,它应该打开网站www.website.com
。另外,对于其他页面,它应该类似于www.website.com/cityname/pagename.php
。
请提供一个解决方案,如何在整个应用程序生命周期内实现这一目标以及如何维护Web URL www.website.com/cityname
?
我可以通过网站网址找到城市名称,但找不到页面并显示错误。
答案 0 :(得分:0)
城市名称必须是该URL的一部分。
查看所用Web服务器的URL重写配置。在Apache HTTPd中,您可以定义例如重写规则。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?([^/]+)$ /index.php?city=$1 [QSA,L]
这两个条件避免了将实际规则应用于现有文件或目录。规则本身捕获的URL仅包含单个路径部分(没有/
),并将它们重定向到index.php
,并将城市添加为查询字符串参数。
不是PHP脚本可以检查参数。您可以将其存储在Cookie中或以HTML输出,以使用JavaScript进行访问。
将其保留在URL中比较困难。该URL必须看起来像http://example.com/cityname/
。斜杠使浏览器将其识别为路径级别,因此像target.php
这样的链接将被解释为http://example.com/cityname/target.php
-将城市名称保留在URL中。但是您必须非常小心HTML输出中的相对和绝对链接。对于尾部的斜杠,还必须更改重写规则。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?([^/]+)/ /index.php?city=$1 [QSA,L]