你的表情是好的这将表明mod_rewrite
未安装/工作/打开。改变你的代码看起来像这样:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^project/([^.]+)/$ /wordpress/wp-content/plugins/pr/cp.php?id=$1 [QSA,L]
</IfModule>
这应该停在那里是任何500错误(如果他们确实mod_rewrite
相关)。如果您的URL重写仍然不起作用,那么您没有安装/启用mod_rewrite
,在这种情况下,您可以使用install and enable it。
UPDATE
你必须在最后O对你的重写规则斜杠,但要匹配像127.0.0.1/wordpress/project/43928fdsf一个URL,它具有结尾没有斜杠。只是删除斜杠和规则应符合:
RewriteRule ^project/([^.]+)$ /wordpress/wp-content/plugins/pr/cp.php?id=$1 [QSA,L]
从那时起,如果你仍然得到那么一个500错误尝试在你的PHP文件的顶部打印$_GET
变量,然后调用exit()
,看看是否你仍然有问题。这应该有助于缩小问题出在PHP还是Apache。
谢谢你的答案即时通讯使用mamp和我只是启用mod_rewrite,但我想确保规则将做的工作,如果用户请求http://127.0.0.1/wordpress/project/43928fdsf它会重定向他到http://127.0.0.1/wordpress/wp-content/plugins/pr/cp.php?id=43928fdsf对不对? – trrrrrrm
我已经添加了一些到上面的答案,希望这将有助于 – Clive
非常感谢你的帮助,我尽我所能,但问题似乎来自.htaccess我试图回声你好或只是普通的HTML,仍然是内部服务器错误,而不是在这个网页上所有的wordpress得到内部服务器错误,非常感谢 – trrrrrrm