繁体   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