友好 URL 使用 .htaccess 和 PHP "include"
Friendly URL using .htaccess and PHP "include"
我对 PHP 和使用 .htaccess 的经验很少,但我想创建对 SEO 友好的 URLs。我已经搜索了互联网和 Whosebug,寻找与我类似的问题。我尝试了多种解决方案,但都没有成功,而且我经常遇到错误。
所以我决定自己创建一个,虽然我知道可能有适合我的正确解决方案,但我一直找不到它。
这就是我的 URL 当前的显示方式 www.site.com/?p=example
我希望它显示为 www.site.com/example
我的 .htaccess 文件是这样设置的
RewriteBase /
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]
我的index.php
文件是这样设置的http://puu.sh/ix8vV/33ff702e21.png
非常感谢您的帮助,因为我已经尝试了好几个小时都无济于事。
提前致谢!
您将需要一个额外的路由器规则,以使用参数 p
:
将所有非文件和非目录转发到 index.php
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.+) ?p= [L,QSA]
我对 PHP 和使用 .htaccess 的经验很少,但我想创建对 SEO 友好的 URLs。我已经搜索了互联网和 Whosebug,寻找与我类似的问题。我尝试了多种解决方案,但都没有成功,而且我经常遇到错误。
所以我决定自己创建一个,虽然我知道可能有适合我的正确解决方案,但我一直找不到它。
这就是我的 URL 当前的显示方式 www.site.com/?p=example
我希望它显示为 www.site.com/example
我的 .htaccess 文件是这样设置的RewriteBase /
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]
我的index.php
文件是这样设置的http://puu.sh/ix8vV/33ff702e21.png
非常感谢您的帮助,因为我已经尝试了好几个小时都无济于事。
提前致谢!
您将需要一个额外的路由器规则,以使用参数 p
:
index.php
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.+) ?p= [L,QSA]