好的,这已经让我疯了一段时间了。有很多关于如何使用.htaccess文件重写URL的信息。但由于某种原因经过几个小时的尝试后,我仍然没有对我的网址产生任何影响。我已经尝试将指令移动到apache2.conf,仍然没有运气。我不擅长服务器管理员的东西,但我到了那里。我注意到那里有很多网站,可能是由网页设计师和wordpress网站建造的,或者你有什么,甚至他们都有干净的网址。
所以AFAIK我需要做的就是粘贴其中一个mod重写规则,例如
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
到我的public_html目录中名为.htaccess的文件。出于某种原因,这对我不起作用。我正在使用数字海洋所以我有机会错过了设置我的LAMP服务器的一些关键步骤,因为我说我仍然要掌握服务器管理员。任何帮助或建议非常感谢!
答案 0 :(得分:0)
对于大多数php框架(wordpress,laravel等),所有不真实的网址请求'目录或文件被重定向到单个入口点。例如。 index.php
,处理请求并相应显示页面。
这是一个简单的示例,其中所有非实际目录或文件的请求都被重定向到index.php并进行处理:
的.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [NC,L]
的index.php
<?php
switch($_SERVER['REQUEST_URI']) {
default:
echo "404: Page cannot be found";
break;
case 'page1':
echo "This is page 1";
break;
case 'page2':
echo "This is page 2";
break;
case 'page3':
echo "This is page 3";
break;
}
因此,如果您转到http://somedomain.com/page1,它将显示&#34;这是第1页&#34;。如果您转到http://somedomain.com/page4,则会显示&#34; 404:无法找到页面&#34;。