簡體   English   中英

Windows Apache .htaccess RewriteRule錯誤

[英]Windows Apache .htaccess RewriteRule error

在我的linux服務器上,我有以下.htaccess:

Options FollowSymLinks
RewriteEngine On
RewriteRule ^page/([^-]*)/([^-]*)$ index.php?module1=page&module2=$1&$2 [L]
RewriteRule ^page/([^-]*)$ index.php?module1=page&module2=$1 [L]
RewriteRule ^game/([^-]*)/([^-]*)$ index.php?module1=game&module2=$1&$2 [L]
RewriteRule ^game/([^-]*)$ index.php?module1=game&module2=$1 [L]
RewriteRule ^admin/([^-]*)/([^-]*)$ index.php?module1=admin&module2=$1&$2 [L]
RewriteRule ^admin/([^-]*)$ index.php?module1=admin&module2=$1 [L]

現在,我想在Windows 7上進行設置。我正在使用WebServ作為服務器(它是基於apache2構建的)。

如果我復制粘貼此.htaccess文件,則它將出現在HTTP錯誤500中

我必須評論Options FollowSymlinks使其起作用。 但是重寫仍然根本不起作用。 我試過了:

  • 改變一切

    apache2 / conf / httpd.conf中的AllowOverride xxx到AllowOverride All

  • 在同一文件中,我有:

    LoadModule rewrite_module modules / mod_rewrite.so(不帶注釋)

因此,問題是:1.為什么選項FollowSymLinks以http錯誤500結尾。2.為什么重寫不起作用?

最好的祝願

調試很難。 當您沒有足夠的事實時,調試會變得非常困難。 您需要更多的事實。 不是虛構的事實,而是真實的事實。 要獲取更多真實的事實,請打開日志記錄。 如果運行Apache 2.4, 請參見this 做這樣的事情:

LogLevel alert rewrite:trace3

仔細閱讀日志,它將詳細告訴您Rewrite在做什么。 如果沒有足夠的細節,請將其提高到trace6 我的經驗是500經常(並非總是)由無限循環引起。 祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM