Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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和php重写用户配置文件页面时使用点_Php_.htaccess_Mod Rewrite_Url Rewriting_Preg Match - Fatal编程技术网

如何允许在使用htaccess和php重写用户配置文件页面时使用点

如何允许在使用htaccess和php重写用户配置文件页面时使用点,php,.htaccess,mod-rewrite,url-rewriting,preg-match,Php,.htaccess,Mod Rewrite,Url Rewriting,Preg Match,我在试图用包含句号的用户名重写用户配置文件页面时遇到了一个问题 首先,我将这个重写规则应用于我的htaccess文件 RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^([a-zA-Z0-9_]+)$ profile.php?tg_u=$1 [NC,L] RewriteRule ^([^.]+)$ $1.php [NC,L] 实际上,当访问用户名仅包含字母且用户名包含数字和下划线的用户时,重写规则起作用。但当尝试访

我在试图用包含句号的用户名重写用户配置文件页面时遇到了一个问题

首先,我将这个重写规则应用于我的htaccess文件

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_]+)$ profile.php?tg_u=$1 [NC,L]
RewriteRule ^([^.]+)$ $1.php [NC,L]
实际上,当访问用户名仅包含字母且用户名包含数字和下划线的用户时,重写规则起作用。但当尝试访问用户名(如user.name)的用户时,我确实收到404页错误,我尝试将以前的preg_匹配更改为此preg_匹配a-zA-Z0-9。以及本节后面的预赛A-zA-Z0-9。在我的htaccess重写规则中,但我注意到,当我想在localhost中访问我的站点时,profile.php页面显示为索引页面,我随后使用这个preg_matcha-zA-Z0-9。但仍然遇到相同的问题。 我将非常感激知道我为什么会遇到这个问题,以及如何解决它

您可以使用:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_.]+)$ profile.php?tg_u=$1 [NC,L]
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^.]+)$ $1.php [NC,L]
-如果请求不是目录,-f不是有效的文件名,则为d。 我添加了一个测试,不将不存在的页面重写到php