Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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
Regex 使用/或不使用URL重写_Regex_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Regex 使用/或不使用URL重写

Regex 使用/或不使用URL重写,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我正在尝试修复此警告: 尽可能避免使用文件扩展名。。。。将URL重写视为创建适当URL的有效且透明的方法 我在.htaccess文件中添加了以下内容: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^(.*)$ $1.html 它在example.com/page上工作正常,但我在example.com/page上收到一个内

我正在尝试修复此警告:

尽可能避免使用文件扩展名。。。。将URL重写视为创建适当URL的有效且透明的方法

我在.htaccess文件中添加了以下内容:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule ^(.*)$ $1.html
它在example.com/page上工作正常,但我在example.com/page上收到一个内部服务器错误/
有什么想法吗?

更改正则表达式以允许可选的尾部斜杠:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.html -f [NC]
RewriteRule ^(.+?)/?$ /$1.html [L]

谢谢你的回答。现在/可以工作了,但是html页面显示时没有样式(CSS等)。对于CSS/js,只需在CSS、js、图像文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以
http://
或斜杠
/
开头。您可以尝试将其添加到页面的HTML标题中:
,以便从该URL而不是当前URL解析每个相对URL。工作做得很好。。谢谢阿努巴瓦!