友情网址使用.htaccess和PHP"包括"

时间:2015-06-21 12:26:16

标签: regex apache .htaccess mod-rewrite url-rewriting

我对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

帮助将非常感激,因为我已经尝试了几个小时无济于事。

提前致谢!

1 个答案:

答案 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]