繁体   English   中英

内部服务器错误与RewriteRule

[英]Internal server error With RewriteRule

我有一个问题是,何时更改动态生成的网站的URL。

我启用了Apache模块mod rewrite localhost wamp服务器。 完美地在Fundionaba之前,但是在php url之前使用两个变量现在删除一台服务器失败。 我不明白为什么会失败。 你能帮助我吗?

当您单击以前可用的相同链接时,服务器错误很奇怪。 如果php变量或php错误有问题,因为那会,但不是服务器错误。

htaccess在完美运行之前的规则:

RewriteRule ^nov/([^/]*)/([^/]*)\.php$ /nov/nov.php?url=$1&url=$2 [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /nov/nov\.php\?url=(.+)&url=(.+)\ HTTP/
RewriteRule ^nov/nov\.php$ /nov/%1/%2\.php? [L,R=301]

我现在使用的规则是通过删除一个不会产生内部服务器错误的变量:

RewriteRule ^nov/([^/]*)\.php$ /nov/nov.php?url=$1 [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /nov/nov\.php\?url=(.+)\ HTTP/
RewriteRule ^nov/nov\.php$ /nov/%1\.php? [L,R=301]

让我们看看是否可以说出错误的原因,我所做的就是删除其中一个变量。 谢谢。

Apache服务器错误日志:

[Thu Mar 03 10:17:46 2016] [error] [client ::1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://localhost/

您必须排除要重写的目标,否则将收到无限循环错误,因为/nov/nov.php?url=$1也与模式^ nov /(.+)。php $相匹配

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /nov/nov\.php\?url=([^\s]+) [NC]
RewriteRule ^ /nov/%1.php? [L,R=301]
RewriteCond %{REQUEST_URI} !^/nov/nov\.php
RewriteRule ^nov/(.+)\.php$ /nov/nov.php?url=$1 [L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM