我对PHP和使用.htaccess的经验很少,但我想创建SEO友好的URL。我已经搜索了互联网和Stackoverflow搜索类似于我的问题。我尝试了多种解决方案,但没有运气,我经常遇到错误。
所以我决定创建自己的,虽然我知道可能有一个正确的解决方案对我来说,我一直无法找到它。
这就是我的网址当前显示的方式www.site.com/?p=example
我希望它显示为www.site.com/example
我的.htaccess文件设置如此RewriteBase /
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
我的index.php
文件设置如此http://puu.sh/ix8vV/33ff702e21.png
帮助将非常感激,因为我已经尝试了几个小时无济于事。
提前致谢!
答案 0 :(得分:1)
您需要一个额外的路由器规则,使用参数index.php
将所有非文件和非目录转发到p
:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [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=$1 [L,QSA]