你好我有我的mvc我的htaccessconfiguration的问题。 IDK我做错了什么? 所有的时间,我有这个消息500:
内部服务器错误
服务器遇到内部错误或configuration错误,无法完成您的请求。
请联系服务器pipe理员admin @ localhost,并告知他们发生错误的时间,以及您可能已经做了的任何可能导致错误的事情。
- 重写URL使用国防部重写不redirect
- .htaccess隐藏redirect时redirect到外部URL
- 使用htaccess从redirect的URL中删除查询string
- 如何在.htaccess中设置代理
- 用.htaccess中选定的查询string参数重写URL
有关此错误的更多信息可能在服务器错误日志中可用。
我想使url重写索引。 尝试做这样的事情
www.example.com/index.php/controller/method/param
www.example.com/index.php?url=controler
我的.htaccess看起来像这样:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.+) index.php?url=$l [QSA,L]
我做错了什么? 我阅读http://httpd.apache.org/docs/current/rewrite/flags.html并做如何解释。
如果您的.htaccess隐藏文件位于主根目录中,请检查这些配置指令:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^index\.php/([a-zA-Z0-9_-]+)/method/param$ /index.php?url=$1 [QSA,L]
它会将http://www.example.com/index.php/ $ var / method / param重写为http://www.example.com/index.php?url= $ var,但请确保您的.htaccess文件位于主根目录中。
你最后一行有错误:
RewriteRule ^(.+) index.php?url=$l [QSA,L]
它应该是:
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
换句话说,将$ l(字母el)更改为$ 1(数字1)。 另外,你可能希望你的$在括号之后来关闭这一行。
<Ifmodulee mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI} !-f RewriteCond %{REQUEST_URI} !-d RewriteCond %{REQUEST_URI} !-l RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </Ifmodulee>
这一个应该工作
http://www.mysite.com/stats
=>
http://www.mysite.com/index.php?url=stats
试试这个:
<Ifmodulee mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [L] </Ifmodulee>