簡體   English   中英

.htaccess的服務器錯誤mod_rewrite

[英]Server Errors with .htaccess mod_rewrite

在我的本地主機上,沒有問題,但是當我將.htaccess文件上傳到1and1托管帳戶時,我遇到了磚牆(內部500服務器錯誤)

更新:我找到了有問題的代碼,只是不知道為什么它壞了或如何解決(我注釋掉了虛線)

 #RewriteRule ^([a-zA-Z_\-/]+)(\/?)$ index.php?p=$1 [R,NC,QSA,L]
  RewriteRule ^([a-zA-Z_/]+)(\/?)$ index.php?p=$1 [R,NC,QSA,L]

.htaccess文件內容:

AddType x-mapp-php5 .php   
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$
RewriteRule ^([a-zA-Z_\-/]+)(\/?)$ /index.php?p=$1 [L]

注釋掉最后一行(RewriteRule ...)可以阻止發生錯誤,但是我顯然需要此功能。

該文件在本地計算機上對我來說正常工作。 好吧,它有點不同,所以我也將包含該代碼(差異:標志,'/ NEP'和第一行)

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$
RewriteRule ^([a-zA-Z_\-/]+)(\/?)$ /NEP2/index.php?p=$1 [NC,QSA,L]

我嘗試執行的幾個重寫示例:

  • dev.mydomain.com/services/ => dev.mydomain.com/index.php?p=services

  • dev.mydomain.com/quality/control => dev.mydomain.com/index.php?p=quality/control

您能提供的任何幫助/建議將不勝感激。 我真的需要在一天結束前完成這項工作。

字符集中的連字符/破折號用作范圍運算符(請考慮0-9或az)。 將其放在中間或結尾可能會出現問題。

將其移動到字符集的開頭可以避免此問題,這意味着您不必使用\\進行轉義:

[-a-zA-Z_/]

暫無
暫無

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

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