【发布时间】:2014-06-05 10:28:56
【问题描述】:
我遇到了这个触发 500 internal server error 的 .htaccess 的问题,正则表达式在 regex101.com 上按预期工作,但在这里没有。
当前网址:http://urlsite.com 或 http://urlsite.com?id=ID,带有可选的 &code=CODE
需求网址:http://urlsite.com 或 http://urlsite.com/firstname-lastname-id,带有可选的 ?code=CODE
.htaccess
ErrorDocument 404 /404.php
ErrorDocument 403 /403.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[\w-]+-([\w\d]+)\/*[?code=]*(\w*)$ http://localhost:8080/ index.php?id=$1&code=$2 [L,QSA]
【问题讨论】:
-
到处都有错误。首先要清楚地说明您要重写哪些 URL,以及您的目标 URL 是什么。
-
去掉最后一行index.php前的空格
-
@anubhava 我已经在问题中写了当前和需要的 URL
标签: php regex .htaccess url-rewriting