【发布时间】:2022-08-22 13:28:26
【问题描述】:
我正在使用 Windows 10 上的 wampserver 进行本地开发。
在那之后,我让我的脚本生效,它工作正常,但几天后我实现了 url 重写。
我的脚本在实时服务器上运行良好。
现在我想做一些改变,所以我把它放在本地进行开发,我得到了禁止的在我的本地主机上。
这是重写规则
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\\.php -f
RewriteRule ^(.*)/([-\\w]+)/(\\d+)/([-\\w]+)$ $1.php?cat_name=$2&vid=$3&vbiz_name=$4 [NC,L]
RewriteRule ^(.*)/([-\\w]+)/(\\d+)$ $1.php?cat_name=$2&page=$3 [NC,L]
RewriteRule ^(.*)/([-\\w]+)$ $1.php?cat_name=$2 [NC,L]
RewriteRule ^(.*)/$ $1.php [NC,L]
# Error Documents
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
RewriteCond %{REQUEST_URI} ^/404/$
RewriteRule ^(.*)$ 404.php [L]
RewriteCond %{REQUEST_URI} ^/500/$
RewriteRule ^(.*)$ 500.php [L]
</IfModule>
这是我正在使用的虚拟主机详细信息。
<VirtualHost *:80>
ServerName devproject
DocumentRoot \"g:/dev-project\"
<Directory \"g:/dev-project/\">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
索引页面工作正常...
请帮帮我。。
-
提供“禁止”回复的请求是什么,您的 http 服务器的日志文件对该请求有什么说明?
-
仅供参考:RewriteConds 仅适用于紧随其后的 RewriteRule。因此,当请求的 URL 与现有文件或文件夹匹配时,这里只有您的第一条规则具有不应应用的限制。但是,如果您发出的请求与第二条规则
^(.*)/([-\\w]+)/(\\d+)$(或下一个规则)的模式匹配,则即使存在匹配的文件或文件夹,该请求也会被重写。 (在某些情况下可能是人们想要的,但通常不是。)
标签: php apache .htaccess mod-rewrite wampserver