gpt4 book ai didi

php - 子域上 GET 参数的 Mod-rewrite

转载 作者:可可西里 更新时间:2023-11-01 13:25:51 26 4
gpt4 key购买 nike

我正在尝试将子域(不重定向)重写为 $_GET 参数:

期望的结果:

http://go.example.bz/link/abcde   ->   http://example.bz/go/link?id=abcde
or
http://go.example.bz/hrm/employee/8 -> http://example.bz/go/hrm/employee?id=8

目前的工作:

http://example.bz/go/link/abcde -> http://example.bz/go/link?id=abcde
and
http://example.bz/go/hrm/employee/8 -> http://example.bz/go/hrm/employee?id=8

在根目录中使用这个 .htaccess:

RewriteEngine On

RewriteRule ^go/link.php/([^/\.]+)/?$ go/link.php?id=$1 [L]
RewriteRule ^go/hrm/employee.php/([^/\.]+)/?$ go/hrm/employee.php?parameter=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]

AddCharset UTF-8 .php
Options -Indexes

这就是我重定向子域的方式:

<VirtualHost *:80> 
Servername go.example.bz DocumentRoot /var/www/go
</VirtualHost>

我不想重定向到 -> 目的地,而是保留 http://go.example.bz/link/abcde url 但有/link?abcde 的结果

最佳答案

我认为我的问题来自于未从子域 URL 中删除 .php 扩展名,我在这里找到了答案 https://css-tricks.com/forums/topic/remove-php-extension-from-subdomain-urls/然后我这样交替我的 RewriteRules:

RewriteEngine On

RewriteRule ^go/link/([^/\.]+)/?$ go/link.php?id=$1 [L]
RewriteRule ^go/hrm/employee/([^/\.]+)/?$ go/hrm/employee.php?id=$1 [L]

RewriteEngine on
RewriteCond %{HTTP_HOST} ^go\.example\.bz$ [OR]
RewriteCond %{HTTP_HOST} ^www\.go\.example\.bz$
RewriteRule ^/?$ "http\:\/\/tgc\.bz\/go" [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php

AddCharset UTF-8 .php
Options -Indexes

关于php - 子域上 GET 参数的 Mod-rewrite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37515795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com