我一直在修改我的网站URL以便美化它们,但是我目前有一个关于站点目录的问题。.htaccess中的mod_rewrite导致目录导致错误500
例如,我的链接看起来像users/[user_id]/
而不是users.php?p=[user_id]
。如上所述,一切都在目录之外运行良好。
当我尝试访问,例如,以www.mywebsite.com/js/
,我是从服务器,它,假设,意味着不存在的文件/目录与此名称面临的一个错误500,因为RewriteCond %{REQUEST_FILENAME} !-f
和RewriteCond %{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
我真的不明白,因为我刚开始这方面的工作,第一次像在几个小时前,我刚开始了解正则表达式和路径格式。
我希望你能帮助我,并通过它帮助人们解决这个问题。
问候
500用于服务器404上的页面上的错误找不到 –