Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用.htaccess在文件名前指定param,并将其服务于php_Php_.htaccess - Fatal编程技术网

使用.htaccess在文件名前指定param,并将其服务于php

使用.htaccess在文件名前指定param,并将其服务于php,php,.htaccess,Php,.htaccess,我对.htaccess的了解很差 目标: Param可以在索引之前设置,如:www.example.com/Param/index . 也无法设置参数(www.example.com/index) 在php中,我需要获取这个参数,比如$\u get['param'] 原始文件结构为:www.example.com/index.php 注意。php可以被任何文件访问 现在我有 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteR

我对.htaccess的了解很差

目标: Param可以在索引之前设置,如:www.example.com/Param/index . 也无法设置参数(www.example.com/index)

在php中,我需要获取这个参数,比如
$\u get['param']

原始文件结构为:www.example.com/index.php

注意。php可以被任何文件访问

现在我有

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
如何删除文件名末尾的
.php
扩展名。如何继续


www.example.com可以通过任何http、https、非www、www域

如果我正确解释了问题,您可以在root.htaccess中使用这些规则:

RewriteEngine On
RewriteBase /

RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^([^/]+)/?$ $1.php?param=en [L,QSA]

RewriteCond %{DOCUMENT_ROOT}/$2\.php -f [NC]
RewriteRule ^([^/]+)/([^/]+)/?$ $2.php?param=$1 [L,QSA]

@阿努巴瓦:是的。任何其他.php文件都需要param。当URL为
www.example.com/index
时,
$\u GET['param']
的值应该是多少?当URL为
www.example.com/param/index
时,
$\u GET['param']
的值应该是多少?@anubhava it
并不重要。它适用于语言代码:英语、俄语、德语。。。etcNot发现请求的URL/ru/索引在此服务器上找不到。使用这些精确的规则
http://localhost/ru/index
适用于我并重写为
http://localhost/index.php?ru=ru
。请确保将其保存在root.htaccess中,并且此htaccessdefault参数中没有其他规则有效,但另一个变量不解析