php - mod_rewrite 和 apache clean 超链接

标签 php apache .htaccess mod-rewrite

我有一个 php 网站,并使用 mod_rewrite 来获取干净的 url。

我的文件:

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

我的villa.php是动态的并且与mysql数据库一起使用。网址示例:

domain.com/villa?i=2&s=别墅名称

我想像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 文件的正确配置是什么?任何帮助都会很棒。感谢您的宝贵时间。

最佳答案

您可以在 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] 

关于php - mod_rewrite 和 apache clean 超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30026439/

相关文章:

.htaccess - 如何使用 .htaccess + 限制访问隐藏文件扩展名

apache - 如何限制特定 IP 范围查看 .htaccess 中的特定页面?

php - Laravel 5 - 重定向不起作用

php - 在 file_get_contents 之后,计算文件中 <span> 的实例以及相同文本的出现次数 - string

apache - 如果我将 apache 用作反向代理并使用 https 访问它,Web 应用程序是否受到保护

apache - 您知道使用 Apache 而不是 Nginx 的任何理由吗?

.htaccess - 如何将https重定向到新域?

php - 判断数组键值是否为空

php - Apache:执行 .php 文件等 Javascript 文件

php - Apache 不显示文件夹和目录