【发布时间】:2015-12-08 09:24:54
【问题描述】:
我在我的网络主机的子文件夹中安装了一个 php 脚本,并且有一个查询字符串,我希望将其更改为对 SEO 友好的 URL。
现在的样子:
http://example.com/payment/index.php?link=AhYBksPI123
以及我想要的方式:
http://example.com/payment/AhYBksPI123/
我使用了一些.htaccess 规则,每次我得到 500 内部服务器错误。
注意:网站根目录下安装了open cart,根目录下没有.htaccess文件,我只是把.htaccess文件放到@987654325 @ 子文件夹。当然,我测试了将.htaccess 文件放入根文件夹,但仍然出现同样的错误。
这是我用来将其置于根目录的测试代码之一:
RewriteEngine on
RewriteBase /payment/
RewriteCond %{THE_REQUEST} /index(?:\.php)?\?link=([^\s&]+)\s [NC]
RewriteRule ^ %1/? [R=302,L,NE]
我不知道我做错了什么?!
我不知道这是否是有用的错误日志:
[2015 年 12 月 8 日星期二 12:44:11.722999] [core:alert] [pid 2871:tid 140185601808128] [客户端 5.161.54.254:60365] /path/to/root/payment/.htaccess:无效命令 '\xef\xbb\xbfRewriteEngine',可能拼写错误或由模块定义 不包含在服务器配置中
[2015 年 12 月 8 日星期二 12:21:18.328407] [core:alert] [pid 30874:tid 140185509488384] [客户端 5.161.54.254:46771] /path/to/root/.htaccess: 无效命令 '\xef\xbb\xbfRewriteEngine',可能拼写错误或 由未包含在服务器配置中的模块定义
【问题讨论】:
-
错误500:读取服务器的错误日志。
-
我没有访问服务器的权限。因为,我使用的是共享网络主机
-
@AfshinHaghighat — 如果您的共享主机非常糟糕,他们不会向您显示您的错误日志(这不太可能),那么您需要更好的主机。
-
如果没有错误日志,这只是猜测。在您的 .htaccess 中对我来说看起来很奇怪的事情:以空格 (
\s) 结束 RewriteCond,以^开始规则。 -
看起来您在 .htaccess 中的命令前面有一些不可见的 utf8 字符。
标签: php apache .htaccess mod-rewrite