【发布时间】:2010-05-19 20:40:21
【问题描述】:
如何编辑此 url 重写以包含附加到 URL 的进一步 get 变量?我尝试了几次,但总是收到 500 内部服务器错误!
我添加了 cmets 来展示我想要实现的目标。
# /view.php?user=h5k6&page=1 externally to /h5k6/1
# Some times the page get variable will not exist so it should just show /h5k6
RewriteCond %{THE_REQUEST} ^GET\ /view\.php
RewriteCond %{QUERY_STRING} ^([^&]*&)*user=([^&]+)&?.*$
RewriteRule ^view\.php$ /%2? [L,R=301]
# /h5k6/1 internally to /view.php?t=h5k6&page=1
RewriteRule ^([0-9a-z]+)$ view.php?t=$1 [L]
感谢大家的帮助
【问题讨论】:
-
@Gumbo - 上面没有错误,但是当我编辑 htaccess 文件以包含另一个 get 变量时,我收到一个错误(500 内部服务器错误) - 我希望找到了解如何正确地编辑上述内容以包含两个 GET 变量并像我的 cmets 中一样重写 URL,
/h5k66/1。第一段是用户 GET 变量,第二段是页面 GET 变量。 -
@Abs:那你如何尝试包含另一个 GET 参数?
-
我有一些猜测,我刚刚尝试的最后一个是:
^([^&]*&)*user=([^&]+)&?.*$([^&]*&)*page=([^&]+)&?.*$- 这只是之前获取变量“user”的副本。这没有奏效。 -
@Abs:现在怎么办:它只是不起作用还是导致了内部错误?
-
通过上述操作,我收到 500 内部服务器错误。如果我删除它,它的罚款。我的两个 get 变量的语法是否正确?
标签: apache mod-rewrite