Pin*_*nky 1 php .htaccess mod-rewrite friendly-url
我正在使用.htaccess.
我原来的链接是:
http://example.com/CareerDays/index.php?u_type=admin
Run Code Online (Sandbox Code Playgroud)
而我正试图让它看起来像这样:
http://example.com/v/admin
Run Code Online (Sandbox Code Playgroud)
整个代码如下所示:
RewriteEngine On
RewriteRule ^v/([^/]*)$ /CareerDays/index.php?u_type=$1 [L]
Run Code Online (Sandbox Code Playgroud)
我总是得到
" 500内部服务器错误 "
小智 6
当您将配置指令放在.htaccess文件中,并且没有获得所需的效果时,可能会出现许多问题.
最常见的问题是,httpd.conf文件中的AllowOverride 指令未设置为使您的配置指令得到遵守.确保您没有对相关文件范围有效的AllowOverride无效.对此的一个很好的测试是将垃圾放入.htaccess文件并重新加载页面.如果未生成服务器错误,则几乎肯定会使AllowOverride无效.
另一方面,如果在尝试访问文档时出现服务器错误,请检查httpd错误日志.它可能会告诉您.htaccess文件中使用的指令是不允许的.
[星期五9月17日18:43:16 2010] [提醒] [客户端192.168.200.51] /var/www/html/.htaccess:这里不允许使用DirectoryIndex
这将指示您使用了.htaccess文件中从未允许的指令,或者您没有将AllowOverride设置为足以满足您使用的指令的级别.请参阅该特定指令的文档以确定是哪种情况.
或者,它可能会告诉您在使用指令本身时出现语法错误.
[2008年8月9日星期六16:22:34] [提醒] [客户端192.168.200.51] /var/www/html/.htaccess:RewriteCond:坏标记分隔符
在这种情况下,错误消息应特定于您提交的特定语法错误.
您必须在httpd.conf文件中将AllowOverride设置为"All"或"FileInfo",才能在.htaccess文件中拥有mod_rewrite指令的权限.
http://httpd.apache.org/docs/2.2/howto/htaccess.html