php - por - Modificación de escritura para el parámetro GET en subdominios
recibir variables get php (4)
Esto ayuda:
RewriteCond %{HTTP_HOST} ^go.example.com$
RewriteRule ^link/([a-zA-Z0-9]+)$ http://example.com/go/link?id=$1 [P]
Estoy intentando reescribir un subdominio (NO REDIRECCIONADO) a un parámetro $ _GET como tal:
Resultado deseado:
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
Lo que está funcionando actualmente:
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
con este .htaccess en la raíz:
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
y así es como redirijo el subdominio:
<VirtualHost *:80>
Servername go.example.bz DocumentRoot /var/www/go
</VirtualHost>
No deseo redireccionar al destino ->, sino mantener el http://go.example.bz/link/abcde url pero tener los resultados del enlace /? Abcde
Pensé que mi problema no era eliminar la extensión .php de las URL de los subdominios de la que encontré una respuesta https://css-tricks.com/forums/topic/remove-php-extension-from-subdomain-urls/ y luego Alterné mis RewriteRules como tal:
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
Puede usar esta regla en root .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?!www/.)([^.]+)/.(example/.com)$ [NC]
RewriteRule ^(link)/(.+)$ http://%2/%1/$1?id=$2 [NC,L,QSA,R=302]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^go.example.com
RewriteRule ^(.*?)/(.*)$ http://example.com/go/$1?id=$2 [L]