mod_rewrite和apache清理超链接

时间:2015-05-04 09:13:08

标签: php apache .htaccess mod-rewrite

我有一个php网站,并使用mod_rewrite清理网址。

我的档案:

  

villa.php about.php contact.php index.php 404.php

我的villa.php是动态的,可以和mysql db一起使用。网址示例:

domain.com/villa?i=的 2 &安培; S = villaname

我想像domain.com/villa/id/villaname

一样使用它

我的.htaccess文件如下所示:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$  $1.php [L,NC]

RewriteRule ^yazlik/(.*)/(.*)$ yazlik.php?i=$1&s=$2[L,NC]

但它不起作用。 .htaccess文件的正确配置是什么?任何帮助都会很棒。谢谢你的时间。

1 个答案:

答案 0 :(得分:2)

您可以在htaccess文件中使用此规则

 RewriteRule ^villa/([0-9]*)/(.*)/?$ /villa?i=$1&s=$2 [QSA,NC,L] 
 RewriteEngine On
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$  $1.php [L,NC]

 RewriteRule ^yazlik/(.*)/(.*)$ yazlik.php?i=$1&s=$2[L,NC]
 RewriteRule ^villa/([0-9]*)/(.*)/?$ /villa?i=$1&s=$2 [QSA,NC,L]