Php url重写不适用于代理\u fgci

Php url重写不适用于代理\u fgci,php,apache,.htaccess,mod-rewrite,url-rewriting,Php,Apache,.htaccess,Mod Rewrite,Url Rewriting,您好,我有一个本地服务器用于开发,它是用puphpet创建的。它有php_fpm和proxy_fgci,我不知道普通apache2和mod_rewrite有什么不同 我拥有的apache模块 modules: - deflate - headers - proxy_fcgi - rewrite - proxy 这是虚拟主机设置 directories: avd_tutorial: pr

您好,我有一个本地服务器用于开发,它是用puphpet创建的。它有php_fpm和proxy_fgci,我不知道普通apache2和mod_rewrite有什么不同

我拥有的apache模块

modules:
    - deflate
    - headers
    - proxy_fcgi
    - rewrite
    - proxy
这是虚拟主机设置

       directories:
            avd_tutorial:
                provider: directory
                path: /var/www/tutorial.dev
                options:
                    - Indexes
                    - FollowSymlinks
                    - MultiViews
                allow_override:
                    - All
                require:
                    - 'all granted'
                custom_fragment: ''
                files_match:
                    vxrwfpx9uf6y:
                        provider: filesmatch
                        path: \.php$
                        sethandler: 'proxy:fcgi://127.0.0.1:9000'
                        custom_fragment: ''
我的访问代码

 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} ^/((.*\.php)(/.*)?)$
 RewriteCond %2 -f
 RewriteRule . fcgi://127.0.0.1:9000/%1 [L,P]
 RewriteOptions Inherit

 RewriteRule ^read/([a-zA-Z0-9_-]+)$ read.php?PostID=$1 [P,L]
我想要的url是
www.tutorial.dev/read/3


但是当我访问这个url时,我得到了404错误。

好的,我找到了你的答案

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^read/([0-9]+)/?$    read.php?id=$1    [NC,L]    # Handle product requests
您只需将[p,L]更改为[NC,L]

您的链接必须如下所示:

以下是演示:


通过更改它的名称将更改

您是否检查了它,如果您检查了,请投票!它不起作用了。我想问题出在apache本身。@ErdemEce:好的,等等,我会给你做点东西