簡體   English   中英

.htaccess中的mod_rewrite導致目錄導致錯誤500

[英]mod_rewrite in .htaccess causing directories to lead to error 500

我一直在修改我的網站URL,以美化它們,但是我目前在網站目錄方面遇到問題。

例如,我的鏈接看起來像users/[user_id]/而不是users.php?p=[user_id] 如上所述,除目錄外,其他所有程序都運行良好。

例如,當我嘗試訪問www.mywebsite.com/js/ ,服務器面臨錯誤500,假設由於RewriteCond %{REQUEST_FILENAME} !-f ,這意味着不存在具有該名稱的文件/目錄。 RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-d行。

這是我放入.htaccess文件中的代碼:

RewriteEngine On
RewriteRule ^users/([0-9]+)/?$ /user.php?p=$1
RewriteCond %{HTTP_HOST} ^mywebsite.com [NC]
RewriteRule ^(.*)$ http://www.mywebsite.com/?$1 [L,R=301,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ $1.php
RewriteRule ^([^/]+)/([^/]+)/?$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

# Error Documents Redirect
ErrorDocument 404 http://www.mywebsite.com/notFound/
ErrorDocument 403 http://www.mywebsite.com/forbidden/
ErrorDocument 401 http://www.mywebsite.com/unauthorized/

# Options
Options All -Indexes
Options All +FollowSymLinks

我不太了解,因為就像幾個小時前我才剛開始做這個一樣,我只是開始了解正則表達式和路徑格式。

希望您能夠對我有所幫助,並通過此方式也幫助面臨此問題的人們。

問候

加上這個

RewriteCond%{REQUEST_URI}!^ /(css | js)/

下面

RewriteRule ^(。*)$ http://www.mywebsite.com/?$ 1 [L,R = 301,NC]

請把這個檢查

然后這個

RewriteEngine開

//有了此規則,我們可以刪除上面提到的規則,因為當看到此規則時,apache將停止處理其他條件

RewriteRule ^(css | jss)($ | /)-[L]

暫無
暫無

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

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