嗨我的网址是一样的东西 http://www.mysite.come/events.php?eid=10的.htaccess:日期范围帮助
活动开始日期是01-07-2011
事件名称:夏令营
我想显示上述网址要像 http://www.mysite.com/events/01/07/2011/summer-trip
这是否使敏感!?
我会感激你的答案,请尽快帮助。
感谢
嗨我的网址是一样的东西 http://www.mysite.come/events.php?eid=10的.htaccess:日期范围帮助
活动开始日期是01-07-2011
事件名称:夏令营
我想显示上述网址要像 http://www.mysite.com/events/01/07/2011/summer-trip
这是否使敏感!?
我会感激你的答案,请尽快帮助。
感谢
如果你只是想发送的日期在友好的格式,这是一个非常简单的重定向:
# Untested example
RewriteEngine On
RewriteRule ^events/(\d{2})/(\d{2})/(\d{4})/.* events.php?date=$3-$2-$1
然而,mod_rewrite的不会做魔术。从01/01/2011/summer-trip
无法获得10
。
编辑:我想我不应该把这个问题从字面上并提供一些线索。如果你想通过一个友好的字符串链接事件,你需要做一对夫妇的内部变化:
事件表,添加一个新列在您的数据库,并使其独特的(大多数DBMS允许创建独特索引)。那个新专栏(我们称之为url_title
)将保存友好的字符串。
调整您的PHP脚本,使其以url_title
作为参数,而不是数字键。
而且你的mod_rewrite的规则将是这样的:
# Again, untested
RewriteEngine On
RewriteRule ^events/\d{2}/\d{2}/\d{4}/([^/]+)/?$ events.php?url_title=$1 [L]
试着这么做:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
这是一个包罗万象的重定向 - 如果文件不存在匹配的请求,该请求被传递与原网址的index.php 。 (这是大多数的框架,wordpress等做到这一点)
然后,你将有index.php中可用的$ _GET ['url'],你可以在php中解析,并做任何需要做的检查/负载相关内容。
请注意,您需要确保您在PHP中实现404错误 - 因为apache将永远不会再有404本身。
只有如何编译重定向URL以及如何重定向则缺少的一部分。 – hakre
感谢您的帮助,我有一些代码也可以做到这一点,你们刚刚解释过。我的代码是 RewriteRule^events /([0-9 _-] +)/([a-zA-Z0-9 _-] +)$ evnts.php?edate = $ 1&ename = $ 2 我的问题在于,am使用聪明,这将改变我的JavaScript和CSS路径..任何想法这里做错了什么!? – Nuhman
@Nuhman,这是一个完全不同的主题。如果使用相对路径,则无法自由移动文档。改用绝对路径。 –