[英]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.