【发布时间】:2015-01-10 18:00:33
【问题描述】:
我完全是 htaccess 的初学者,我正在尝试缩短我的以下网址..
来自
http://website.com/index.php?student-name=john
http://website.com/index.php?teacher-name=amy
http://website.com/index.php?class=xxx
到
http://website.com/john
http://website.com/amy
http://website.com/xxx
我尝试了以下 .htaccess 代码,
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /index.php?student-name=$1 [L]
RewriteRule ^([^/]+)/?$ /index.php?teacher-name=$2 [L]
RewriteRule ^([^/]+)/?$ /index.php?class=$3 [L]
但是,我显示“500-内部伺服器错误”....
编辑:
当我尝试使用一个 rewrite_rule 时,它可以正常工作。喜欢
RewriteRule ^([^/]+)/?$ /index.php?student-name=$1 [L]
(或)
RewriteRule ^student/([^/]+)/?$ /index.php?student-name=$1 [L]
当我尝试使用两个或多个 rewrite_rule 时,它会显示“500-内部伺服器错误”。喜欢
RewriteRule ^([^/]+)/?$ /index.php?student-name=$1 [L]
RewriteRule ^teacher/([^/]+)/?$ /index.php?teacher-name=$1 [L]
(或)
RewriteRule ^student/([^/]+)/?$ /index.php?student-name=$1 [L]
RewriteRule ^teacher/([^/]+)/?$ /index.php?teacher-name=$1 [L]
其显示错误日志为:“由于可能的配置错误,请求超出了 10 次内部重定向的限制。如有必要,请使用 'LimitInternalRecursion' 增加限制。使用 'LogLevel debug' 获取回溯。”
这是什么意思?
【问题讨论】:
-
尝试摆脱
RewriteBase指令。您确定在您的 Apache 服务器中编译并启用了 mod_rewrite 吗? -
> 但是,我没有看到我的网址有任何变化....您尝试打开 website.com/xxx 吗?结果是 404 还是其他错误?服务器日志呢?
-
@MarcusMüller 它说“500-内部服务器错误”,
-
然后查看你服务器的日志。
标签: apache .htaccess mod-rewrite internal-server-error url-shortener